
int rust_is_mangled(char *sym)

{
  byte *pbVar1;
  byte bVar2;
  size_t sVar3;
  char *pcVar4;
  char cVar5;
  long lVar6;
  byte *pbVar7;
  int iVar8;
  char cVar9;
  byte *pbVar10;
  bool bVar11;
  bool bVar12;
  bool bVar13;
  byte bVar14;
  char seen [16];
  char local_38 [8];
  
  bVar14 = 0;
  pcVar4 = seen;
  if (sym != (char *)0x0) {
    sVar3 = strlen(sym);
    bVar11 = sVar3 < 0x13;
    bVar13 = sVar3 == 0x13;
    if (0x13 < sVar3) {
      pbVar1 = (byte *)(sym + (sVar3 - 0x13));
      lVar6 = 3;
      pbVar7 = pbVar1;
      pbVar10 = &DAT_003904c0;
      do {
        if (lVar6 == 0) break;
        lVar6 = lVar6 + -1;
        bVar11 = *pbVar7 < *pbVar10;
        bVar13 = *pbVar7 == *pbVar10;
        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
      } while (bVar13);
      cVar9 = (!bVar11 && !bVar13) - bVar11;
      if (cVar9 == '\0') {
        pbVar7 = pbVar1 + 3;
        seen[0] = '\0';
        seen[1] = '\0';
        seen[2] = '\0';
        seen[3] = '\0';
        seen[4] = '\0';
        seen[5] = '\0';
        seen[6] = '\0';
        seen[7] = '\0';
        seen[8] = '\0';
        seen[9] = '\0';
        seen[10] = '\0';
        seen[0xb] = '\0';
        seen[0xc] = '\0';
        seen[0xd] = '\0';
        seen[0xe] = '\0';
        seen[0xf] = '\0';
        if (pbVar7 < pbVar1 + 0x13) {
          do {
            while( true ) {
              bVar2 = *pbVar7;
              if ((byte)(bVar2 - 0x30) < 10) break;
              if (5 < (byte)(bVar2 + 0x9f)) {
                return 0;
              }
              pbVar7 = pbVar7 + 1;
              seen[(char)bVar2 + -0x57] = '\x01';
              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;
            }
            pbVar7 = pbVar7 + 1;
            seen[(char)bVar2 + -0x30] = '\x01';
          } while (pbVar7 != (byte *)(sym + sVar3));
LAB_002d87bf:
          cVar5 = seen[0];
        }
        else {
          cVar5 = '\0';
        }
        iVar8 = 0;
        while( true ) {
          pcVar4 = pcVar4 + 1;
          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');
          if (local_38 == pcVar4) break;
          cVar5 = *pcVar4;
        }
        if (iVar8 - 5U < 0xb) {
          if (sym < pbVar1) {
            do {
              bVar2 = *sym - 0x24;
              if (0x56 < bVar2) {
                return (int)cVar9;
              }
              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];
              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;
              switch(*sym) {
              case '$':
                lVar6 = 3;
                pbVar7 = (byte *)sym;
                pbVar10 = &DAT_003904c4;
                do {
                  if (lVar6 == 0) break;
                  lVar6 = lVar6 + -1;
                  bVar11 = *pbVar7 < *pbVar10;
                  bVar13 = *pbVar7 == *pbVar10;
                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;
                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                } while (bVar13);
                bVar12 = false;
                bVar11 = (!bVar11 && !bVar13) == bVar11;
                if (bVar11) {
                  sym = (char *)((byte *)sym + 3);
                }
                else {
                  lVar6 = 4;
                  pbVar7 = (byte *)sym;
                  pbVar10 = &DAT_003904c8;
                  do {
                    if (lVar6 == 0) break;
                    lVar6 = lVar6 + -1;
                    bVar12 = *pbVar7 < *pbVar10;
                    bVar11 = *pbVar7 == *pbVar10;
                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;
                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                  } while (bVar11);
                  bVar13 = false;
                  bVar11 = (!bVar12 && !bVar11) == bVar12;
                  if (!bVar11) {
                    lVar6 = 4;
                    pbVar7 = (byte *)sym;
                    pbVar10 = &DAT_003904cd;
                    do {
                      if (lVar6 == 0) break;
                      lVar6 = lVar6 + -1;
                      bVar13 = *pbVar7 < *pbVar10;
                      bVar11 = *pbVar7 == *pbVar10;
                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;
                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                    } while (bVar11);
                    bVar12 = false;
                    bVar11 = (!bVar13 && !bVar11) == bVar13;
                    if (!bVar11) {
                      lVar6 = 4;
                      pbVar7 = (byte *)sym;
                      pbVar10 = &DAT_003904d2;
                      do {
                        if (lVar6 == 0) break;
                        lVar6 = lVar6 + -1;
                        bVar12 = *pbVar7 < *pbVar10;
                        bVar11 = *pbVar7 == *pbVar10;
                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;
                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                      } while (bVar11);
                      bVar13 = false;
                      bVar11 = (!bVar12 && !bVar11) == bVar12;
                      if (!bVar11) {
                        lVar6 = 4;
                        pbVar7 = (byte *)sym;
                        pbVar10 = &DAT_003904d7;
                        do {
                          if (lVar6 == 0) break;
                          lVar6 = lVar6 + -1;
                          bVar13 = *pbVar7 < *pbVar10;
                          bVar11 = *pbVar7 == *pbVar10;
                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;
                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                        } while (bVar11);
                        bVar12 = false;
                        bVar11 = (!bVar13 && !bVar11) == bVar13;
                        if (!bVar11) {
                          lVar6 = 4;
                          pbVar7 = (byte *)sym;
                          pbVar10 = &DAT_003904dc;
                          do {
                            if (lVar6 == 0) break;
                            lVar6 = lVar6 + -1;
                            bVar12 = *pbVar7 < *pbVar10;
                            bVar11 = *pbVar7 == *pbVar10;
                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;
                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                          } while (bVar11);
                          bVar13 = false;
                          bVar11 = (!bVar12 && !bVar11) == bVar12;
                          if (!bVar11) {
                            lVar6 = 4;
                            pbVar7 = (byte *)sym;
                            pbVar10 = &DAT_003904e1;
                            do {
                              if (lVar6 == 0) break;
                              lVar6 = lVar6 + -1;
                              bVar13 = *pbVar7 < *pbVar10;
                              bVar11 = *pbVar7 == *pbVar10;
                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;
                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                            } while (bVar11);
                            bVar12 = false;
                            bVar11 = (!bVar13 && !bVar11) == bVar13;
                            if (!bVar11) {
                              lVar6 = 4;
                              pbVar7 = (byte *)sym;
                              pbVar10 = &DAT_003904e6;
                              do {
                                if (lVar6 == 0) break;
                                lVar6 = lVar6 + -1;
                                bVar12 = *pbVar7 < *pbVar10;
                                bVar11 = *pbVar7 == *pbVar10;
                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;
                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                              } while (bVar11);
                              if ((!bVar12 && !bVar11) != bVar12) {
                                iVar8 = strncmp(sym,"$u20$",5);
                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)
                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&
                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&
                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&
                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&
                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&
                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&
                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&
                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {
                                  return 0;
                                }
                                sym = (char *)((byte *)sym + 5);
                                break;
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                  sym = (char *)((byte *)sym + 4);
                }
                break;
              case '%':
              case '&':
              case '\'':
              case '(':
              case ')':
              case '*':
              case '+':
              case ',':
              case '-':
              case '/':
              case ';':
              case '<':
              case '=':
              case '>':
              case '?':
              case '@':
              case '[':
              case '\\':
              case ']':
              case '^':
              case '`':
                return (int)cVar9;
              case '.':
                lVar6 = 3;
                pbVar7 = (byte *)sym;
                pbVar10 = (byte *)0x379f36;
                do {
                  if (lVar6 == 0) break;
                  lVar6 = lVar6 + -1;
                  bVar11 = *pbVar7 < *pbVar10;
                  bVar13 = *pbVar7 == *pbVar10;
                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;
                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                } while (bVar13);
                if ((!bVar11 && !bVar13) == bVar11) {
                  return 0;
                }
              default:
                sym = (char *)((byte *)sym + 1);
              }
            } while (sym < pbVar1);
          }
          return 1;
        }
      }
    }
  }
  return 0;
}



undefined4 FUN_002d8700(byte *param_1)

{
  byte *pbVar1;
  byte bVar2;
  size_t sVar3;
  char *pcVar4;
  char cVar5;
  long lVar6;
  byte *pbVar7;
  int iVar8;
  byte *pbVar9;
  bool bVar10;
  bool bVar11;
  bool bVar12;
  byte bVar13;
  undefined1 local_48 [16];
  char local_38 [8];
  
  bVar13 = 0;
  pcVar4 = local_48;
  if (param_1 != (byte *)0x0) {
    sVar3 = strlen((char *)param_1);
    bVar10 = sVar3 < 0x13;
    bVar12 = sVar3 == 0x13;
    if (0x13 < sVar3) {
      pbVar1 = param_1 + (sVar3 - 0x13);
      lVar6 = 3;
      pbVar7 = pbVar1;
      pbVar9 = (byte *)0x3904c0;
      do {
        if (lVar6 == 0) break;
        lVar6 = lVar6 + -1;
        bVar10 = *pbVar7 < *pbVar9;
        bVar12 = *pbVar7 == *pbVar9;
        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
      } while (bVar12);
      if ((!bVar10 && !bVar12) == bVar10) {
        pbVar7 = pbVar1 + 3;
        local_48 = (undefined1  [16])0x0;
        if (pbVar7 < pbVar1 + 0x13) {
          do {
            while( true ) {
              bVar2 = *pbVar7;
              if ((byte)(bVar2 - 0x30) < 10) break;
              if (5 < (byte)(bVar2 + 0x9f)) {
                return 0;
              }
              pbVar7 = pbVar7 + 1;
              local_48[(char)bVar2 + -0x57] = 1;
              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;
            }
            pbVar7 = pbVar7 + 1;
            local_48[(char)bVar2 + -0x30] = 1;
          } while (pbVar7 != param_1 + sVar3);
LAB_002d87bf:
        }
        else {
          local_48[0] = '\0';
        }
        iVar8 = 0;
        cVar5 = local_48[0];
        while( true ) {
          pcVar4 = pcVar4 + 1;
          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');
          if (local_38 == pcVar4) break;
          cVar5 = *pcVar4;
        }
        if (iVar8 - 5U < 0xb) {
          if (param_1 < pbVar1) {
            do {
              bVar2 = *param_1 - 0x24;
              if (0x56 < bVar2) {
                return 0;
              }
              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];
              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;
              switch(*param_1) {
              case 0x24:
                lVar6 = 3;
                pbVar7 = param_1;
                pbVar9 = &DAT_003904c4;
                do {
                  if (lVar6 == 0) break;
                  lVar6 = lVar6 + -1;
                  bVar10 = *pbVar7 < *pbVar9;
                  bVar12 = *pbVar7 == *pbVar9;
                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                } while (bVar12);
                bVar11 = false;
                bVar10 = (!bVar10 && !bVar12) == bVar10;
                if (bVar10) {
                  param_1 = param_1 + 3;
                }
                else {
                  lVar6 = 4;
                  pbVar7 = param_1;
                  pbVar9 = &DAT_003904c8;
                  do {
                    if (lVar6 == 0) break;
                    lVar6 = lVar6 + -1;
                    bVar11 = *pbVar7 < *pbVar9;
                    bVar10 = *pbVar7 == *pbVar9;
                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                  } while (bVar10);
                  bVar12 = false;
                  bVar10 = (!bVar11 && !bVar10) == bVar11;
                  if (!bVar10) {
                    lVar6 = 4;
                    pbVar7 = param_1;
                    pbVar9 = &DAT_003904cd;
                    do {
                      if (lVar6 == 0) break;
                      lVar6 = lVar6 + -1;
                      bVar12 = *pbVar7 < *pbVar9;
                      bVar10 = *pbVar7 == *pbVar9;
                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                    } while (bVar10);
                    bVar11 = false;
                    bVar10 = (!bVar12 && !bVar10) == bVar12;
                    if (!bVar10) {
                      lVar6 = 4;
                      pbVar7 = param_1;
                      pbVar9 = &DAT_003904d2;
                      do {
                        if (lVar6 == 0) break;
                        lVar6 = lVar6 + -1;
                        bVar11 = *pbVar7 < *pbVar9;
                        bVar10 = *pbVar7 == *pbVar9;
                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                      } while (bVar10);
                      bVar12 = false;
                      bVar10 = (!bVar11 && !bVar10) == bVar11;
                      if (!bVar10) {
                        lVar6 = 4;
                        pbVar7 = param_1;
                        pbVar9 = &DAT_003904d7;
                        do {
                          if (lVar6 == 0) break;
                          lVar6 = lVar6 + -1;
                          bVar12 = *pbVar7 < *pbVar9;
                          bVar10 = *pbVar7 == *pbVar9;
                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                        } while (bVar10);
                        bVar11 = false;
                        bVar10 = (!bVar12 && !bVar10) == bVar12;
                        if (!bVar10) {
                          lVar6 = 4;
                          pbVar7 = param_1;
                          pbVar9 = &DAT_003904dc;
                          do {
                            if (lVar6 == 0) break;
                            lVar6 = lVar6 + -1;
                            bVar11 = *pbVar7 < *pbVar9;
                            bVar10 = *pbVar7 == *pbVar9;
                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                          } while (bVar10);
                          bVar12 = false;
                          bVar10 = (!bVar11 && !bVar10) == bVar11;
                          if (!bVar10) {
                            lVar6 = 4;
                            pbVar7 = param_1;
                            pbVar9 = &DAT_003904e1;
                            do {
                              if (lVar6 == 0) break;
                              lVar6 = lVar6 + -1;
                              bVar12 = *pbVar7 < *pbVar9;
                              bVar10 = *pbVar7 == *pbVar9;
                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                            } while (bVar10);
                            bVar11 = false;
                            bVar10 = (!bVar12 && !bVar10) == bVar12;
                            if (!bVar10) {
                              lVar6 = 4;
                              pbVar7 = param_1;
                              pbVar9 = &DAT_003904e6;
                              do {
                                if (lVar6 == 0) break;
                                lVar6 = lVar6 + -1;
                                bVar11 = *pbVar7 < *pbVar9;
                                bVar10 = *pbVar7 == *pbVar9;
                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                              } while (bVar10);
                              if ((!bVar11 && !bVar10) != bVar11) {
                                iVar8 = strncmp((char *)param_1,"$u20$",5);
                                if ((((((iVar8 != 0) &&
                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&
                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&
                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&
                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&
                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&
                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&
                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))
                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&
                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {
                                  return 0;
                                }
                                param_1 = param_1 + 5;
                                break;
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                  param_1 = param_1 + 4;
                }
                break;
              case 0x25:
              case 0x26:
              case 0x27:
              case 0x28:
              case 0x29:
              case 0x2a:
              case 0x2b:
              case 0x2c:
              case 0x2d:
              case 0x2f:
              case 0x3b:
              case 0x3c:
              case 0x3d:
              case 0x3e:
              case 0x3f:
              case 0x40:
              case 0x5b:
              case 0x5c:
              case 0x5d:
              case 0x5e:
              case 0x60:
                return 0;
              case 0x2e:
                lVar6 = 3;
                pbVar7 = param_1;
                pbVar9 = (byte *)0x379f36;
                do {
                  if (lVar6 == 0) break;
                  lVar6 = lVar6 + -1;
                  bVar10 = *pbVar7 < *pbVar9;
                  bVar12 = *pbVar7 == *pbVar9;
                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                } while (bVar12);
                if ((!bVar10 && !bVar12) == bVar10) {
                  return 0;
                }
              default:
                param_1 = param_1 + 1;
              }
            } while (param_1 < pbVar1);
          }
          return 1;
        }
      }
    }
  }
  return 0;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x18
TEST RDI,RDI
JZ 0x002d8721
MOV RBX,RDI
CALL 0x00147490
CMP RAX,0x13
JA 0x002d8738
XOR EBP,EBP
ADD RSP,0x18
MOV EAX,EBP
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA R12,[RBX + RAX*0x1 + -0x13]
MOV ECX,0x3
LEA RDI,[0x3904c0]
MOV RSI,R12
CMPSB.REPE RDI,RSI
SETA BPL
SBB BPL,0x0
MOVSX EBP,BPL
TEST EBP,EBP
JNZ 0x002d8721
PXOR XMM0,XMM0
LEA RCX,[R12 + 0x3]
LEA RDX,[R12 + 0x13]
MOVAPS xmmword ptr [RSP],XMM0
CMP RCX,RDX
JNC 0x002d8ba8
ADD RAX,RBX
JMP 0x002d8793
SUB EDX,0x30
ADD RCX,0x1
MOVSXD RDX,EDX
MOV byte ptr [RSP + RDX*0x1],0x1
CMP RCX,RAX
JZ 0x002d87bf
MOVSX EDX,byte ptr [RCX]
LEA ESI,[RDX + -0x30]
CMP SIL,0x9
JBE 0x002d8780
LEA ESI,[RDX + -0x61]
CMP SIL,0x5
JA 0x002d8721
SUB EDX,0x57
ADD RCX,0x1
MOVSXD RDX,EDX
MOV byte ptr [RSP + RDX*0x1],0x1
CMP RCX,RAX
JNZ 0x002d8793
MOVZX ECX,byte ptr [RSP]
LEA RAX,[RSP + 0x1]
LEA RSI,[RSP + 0x10]
XOR EDX,EDX
JMP 0x002d87df
MOVZX ECX,byte ptr [RAX]
ADD RAX,0x1
CMP CL,0x1
SBB EDX,-0x1
CMP RSI,RAX
JNZ 0x002d87d8
SUB EDX,0x5
CMP EDX,0xa
JA 0x002d8721
CMP R12,RBX
JBE 0x002d8873
LEA R13,[0x390528]
LEA R15,[0x379f36]
LEA R14,[0x3904c4]
LEA R8,[0x3904c8]
LEA R9,[0x3904cd]
LEA R10,[0x3904d2]
LEA R11,[0x3904d7]
MOVZX EAX,byte ptr [RBX]
SUB EAX,0x24
CMP AL,0x56
JA 0x002d8723
MOVZX EAX,AL
MOVSXD RAX,dword ptr [R13 + RAX*0x4]
ADD RAX,R13
JMP RAX
MOV ECX,0x3
MOV RSI,RBX
MOV RDI,R15
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x002d8721
ADD RBX,0x1
CMP R12,RBX
JA 0x002d882c
MOV EBP,0x1
JMP 0x002d8723
MOV ECX,0x3
MOV RSI,RBX
MOV RDI,R14
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x002d88a0
ADD RBX,0x3
JMP 0x002d886e
MOV ECX,0x4
MOV RSI,RBX
MOV RDI,R8
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x002d8b98
MOV ECX,0x4
MOV RSI,RBX
MOV RDI,R9
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x002d8b98
MOV ECX,0x4
MOV RSI,RBX
MOV RDI,R10
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x002d8b98
MOV ECX,0x4
MOV RSI,RBX
MOV RDI,R11
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x002d8b98
MOV ECX,0x4
MOV RSI,RBX
LEA RDI,[0x3904dc]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x002d8b98
MOV ECX,0x4
MOV RSI,RBX
LEA RDI,[0x3904e1]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x002d8b98
MOV ECX,0x4
MOV RSI,RBX
LEA RDI,[0x3904e6]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x002d8b98
MOV EDX,0x5
LEA RSI,[0x3904eb]
MOV RDI,RBX
CALL 0x001472f0
LEA R8,[0x3904c8]
LEA R9,[0x3904cd]
TEST EAX,EAX
LEA R10,[0x3904d2]
LEA R11,[0x3904d7]
JZ 0x002d8b8a
MOV EDX,0x5
LEA RSI,[0x3904f1]
MOV RDI,RBX
CALL 0x001472f0
LEA R8,[0x3904c8]
LEA R9,[0x3904cd]
TEST EAX,EAX
LEA R10,[0x3904d2]
LEA R11,[0x3904d7]
JZ 0x002d8b8a
MOV EDX,0x5
LEA RSI,[0x3904f7]
MOV RDI,RBX
CALL 0x001472f0
LEA R8,[0x3904c8]
LEA R9,[0x3904cd]
TEST EAX,EAX
LEA R10,[0x3904d2]
LEA R11,[0x3904d7]
JZ 0x002d8b8a
MOV EDX,0x5
LEA RSI,[0x3904fd]
MOV RDI,RBX
CALL 0x001472f0
LEA R8,[0x3904c8]
LEA R9,[0x3904cd]
TEST EAX,EAX
LEA R10,[0x3904d2]
LEA R11,[0x3904d7]
JZ 0x002d8b8a
MOV EDX,0x5
LEA RSI,[0x390503]
MOV RDI,RBX
CALL 0x001472f0
LEA R8,[0x3904c8]
LEA R9,[0x3904cd]
TEST EAX,EAX
LEA R10,[0x3904d2]
LEA R11,[0x3904d7]
JZ 0x002d8b8a
MOV EDX,0x5
LEA RSI,[0x390509]
MOV RDI,RBX
CALL 0x001472f0
LEA R8,[0x3904c8]
LEA R9,[0x3904cd]
TEST EAX,EAX
LEA R10,[0x3904d2]
LEA R11,[0x3904d7]
JZ 0x002d8b8a
MOV EDX,0x5
LEA RSI,[0x39050f]
MOV RDI,RBX
CALL 0x001472f0
LEA R8,[0x3904c8]
LEA R9,[0x3904cd]
TEST EAX,EAX
LEA R10,[0x3904d2]
LEA R11,[0x3904d7]
JZ 0x002d8b8a
MOV EDX,0x5
LEA RSI,[0x390515]
MOV RDI,RBX
CALL 0x001472f0
LEA R8,[0x3904c8]
LEA R9,[0x3904cd]
TEST EAX,EAX
LEA R10,[0x3904d2]
LEA R11,[0x3904d7]
JZ 0x002d8b8a
MOV EDX,0x5
LEA RSI,[0x39051b]
MOV RDI,RBX
CALL 0x001472f0
LEA R8,[0x3904c8]
LEA R9,[0x3904cd]
TEST EAX,EAX
LEA R10,[0x3904d2]
LEA R11,[0x3904d7]
JZ 0x002d8b8a
MOV EDX,0x5
LEA RSI,[0x390521]
MOV RDI,RBX
CALL 0x001472f0
LEA R8,[0x3904c8]
LEA R9,[0x3904cd]
TEST EAX,EAX
LEA R10,[0x3904d2]
LEA R11,[0x3904d7]
JNZ 0x002d8721
ADD RBX,0x5
JMP 0x002d886e
ADD RBX,0x4
JMP 0x002d886e
XOR ECX,ECX
JMP 0x002d87c3
(translation_unit "undefined4 FUN_002d8700(byte *param_1)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char cVar5;\n  long lVar6;\n  byte *pbVar7;\n  int iVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined1 local_48 [16];\n  char local_38 [8];\n  \n  bVar13 = 0;\n  pcVar4 = local_48;\n  if (param_1 != (byte *)0x0) {\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_002d8700(byte *param_1)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char cVar5;\n  long lVar6;\n  byte *pbVar7;\n  int iVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined1 local_48 [16];\n  char local_38 [8];\n  \n  bVar13 = 0;\n  pcVar4 = local_48;\n  if (param_1 != (byte *)0x0) {\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_002d8700(byte *param_1)" identifier (parameter_list "(byte *param_1)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char cVar5;\n  long lVar6;\n  byte *pbVar7;\n  int iVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined1 local_48 [16];\n  char local_38 [8];\n  \n  bVar13 = 0;\n  pcVar4 = local_48;\n  if (param_1 != (byte *)0x0) {\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "undefined1 local_48 [16];" type_identifier (array_declarator "local_48 [16]" identifier [ number_literal ]) ;) (declaration "char local_38 [8];" primitive_type (array_declarator "local_38 [8]" identifier [ number_literal ]) ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "pcVar4 = local_48;" (assignment_expression "pcVar4 = local_48" identifier = identifier) ;) (if_statement "if (param_1 != (byte *)0x0) {\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(param_1 != (byte *)0x0)" ( (binary_expression "param_1 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }" { (expression_statement "sVar3 = strlen((char *)param_1);" (assignment_expression "sVar3 = 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 "bVar10 = sVar3 < 0x13;" (assignment_expression "bVar10 = sVar3 < 0x13" identifier = (binary_expression "sVar3 < 0x13" identifier < number_literal)) ;) (expression_statement "bVar12 = sVar3 == 0x13;" (assignment_expression "bVar12 = sVar3 == 0x13" identifier = (binary_expression "sVar3 == 0x13" identifier == number_literal)) ;) (if_statement "if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }" if (parenthesized_expression "(0x13 < sVar3)" ( (binary_expression "0x13 < sVar3" number_literal < identifier) )) (compound_statement "{\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }" { (expression_statement "pbVar1 = param_1 + (sVar3 - 0x13);" (assignment_expression "pbVar1 = param_1 + (sVar3 - 0x13)" identifier = (binary_expression "param_1 + (sVar3 - 0x13)" identifier + (parenthesized_expression "(sVar3 - 0x13)" ( (binary_expression "sVar3 - 0x13" identifier - number_literal) )))) ;) (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar1;" (assignment_expression "pbVar7 = pbVar1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x3904c0;" (assignment_expression "pbVar9 = (byte *)0x3904c0" identifier = (cast_expression "(byte *)0x3904c0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);" do (compound_statement "{\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar9;" (assignment_expression "bVar10 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar12 = *pbVar7 == *pbVar9;" (assignment_expression "bVar12 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }" if (parenthesized_expression "((!bVar10 && !bVar12) == bVar10)" ( (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier) )) (compound_statement "{\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }" { (expression_statement "pbVar7 = pbVar1 + 3;" (assignment_expression "pbVar7 = pbVar1 + 3" identifier = (binary_expression "pbVar1 + 3" identifier + number_literal)) ;) (expression_statement "local_48 = (undefined1  [16])0x0;" (assignment_expression "local_48 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (if_statement "if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }" if (parenthesized_expression "(pbVar7 < pbVar1 + 0x13)" ( (binary_expression "pbVar7 < pbVar1 + 0x13" identifier < (binary_expression "pbVar1 + 0x13" identifier + number_literal)) )) (compound_statement "{\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }" { (do_statement "do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);" do (compound_statement "{\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          }" { (while_statement "while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }" { (expression_statement "bVar2 = *pbVar7;" (assignment_expression "bVar2 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (if_statement "if ((byte)(bVar2 - 0x30) < 10) break;" if (parenthesized_expression "((byte)(bVar2 - 0x30) < 10)" ( (binary_expression "(byte)(bVar2 - 0x30) < 10" (call_expression "(byte)(bVar2 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar2 - 0x30)" ( (binary_expression "bVar2 - 0x30" identifier - number_literal) ))) < number_literal) )) (break_statement "break;" break ;)) (if_statement "if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }" if (parenthesized_expression "(5 < (byte)(bVar2 + 0x9f))" ( (binary_expression "5 < (byte)(bVar2 + 0x9f)" number_literal < (call_expression "(byte)(bVar2 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar2 + 0x9f)" ( (binary_expression "bVar2 + 0x9f" identifier + number_literal) )))) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "local_48[(char)bVar2 + -0x57] = 1;" (assignment_expression "local_48[(char)bVar2 + -0x57] = 1" (subscript_expression "local_48[(char)bVar2 + -0x57]" identifier [ (binary_expression "(char)bVar2 + -0x57" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ]) = number_literal) ;) (if_statement "if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;" if (parenthesized_expression "(pbVar7 == param_1 + sVar3)" ( (binary_expression "pbVar7 == param_1 + sVar3" identifier == (binary_expression "param_1 + sVar3" identifier + identifier)) )) (goto_statement "goto LAB_002d87bf;" goto statement_identifier ;)) })) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "local_48[(char)bVar2 + -0x30] = 1;" (assignment_expression "local_48[(char)bVar2 + -0x30] = 1" (subscript_expression "local_48[(char)bVar2 + -0x30]" identifier [ (binary_expression "(char)bVar2 + -0x30" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ]) = number_literal) ;) }) while (parenthesized_expression "(pbVar7 != param_1 + sVar3)" ( (binary_expression "pbVar7 != param_1 + sVar3" identifier != (binary_expression "param_1 + sVar3" identifier + identifier)) )) ;) (labeled_statement "LAB_002d87bf:" statement_identifier : (expression_statement "" ;)) }) (else_clause "else {\n          local_48[0] = '\0';\n        }" else (compound_statement "{\n          local_48[0] = '\0';\n        }" { (expression_statement "local_48[0] = '\0';" (assignment_expression "local_48[0] = '\0'" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "cVar5 = local_48[0];" (assignment_expression "cVar5 = local_48[0]" identifier = (subscript_expression "local_48[0]" identifier [ number_literal ])) ;) (while_statement "while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }" { (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');" (assignment_expression "iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0')" identifier = (binary_expression "(iVar8 + 1) - (uint)(cVar5 == '\0')" (parenthesized_expression "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )) - (call_expression "(uint)(cVar5 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))))) ;) (if_statement "if (local_38 == pcVar4) break;" if (parenthesized_expression "(local_38 == pcVar4)" ( (binary_expression "local_38 == pcVar4" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "cVar5 = *pcVar4;" (assignment_expression "cVar5 = *pcVar4" identifier = (pointer_expression "*pcVar4" * identifier)) ;) })) (if_statement "if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }" if (parenthesized_expression "(iVar8 - 5U < 0xb)" ( (binary_expression "iVar8 - 5U < 0xb" (binary_expression "iVar8 - 5U" identifier - number_literal) < number_literal) )) (compound_statement "{\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }" { (if_statement "if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }" if (parenthesized_expression "(param_1 < pbVar1)" ( (binary_expression "param_1 < pbVar1" identifier < identifier) )) (compound_statement "{\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }" { (do_statement "do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);" do (compound_statement "{\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            }" { (expression_statement "bVar2 = *param_1 - 0x24;" (assignment_expression "bVar2 = *param_1 - 0x24" identifier = (binary_expression "*param_1 - 0x24" (pointer_expression "*param_1" * identifier) - number_literal)) ;) (if_statement "if (0x56 < bVar2) {\n                return 0;\n              }" if (parenthesized_expression "(0x56 < bVar2)" ( (binary_expression "0x56 < bVar2" number_literal < identifier) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];" (assignment_expression "bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2]" identifier = (binary_expression "0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2]" number_literal < (subscript_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2]" (parenthesized_expression "(&switchD_002d8845::switchdataD_00390528)" ( (ERROR "&switchD_002d8845::" (pointer_expression "&switchD_002d8845" & identifier) : :) identifier )) [ identifier ]))) ;) (expression_statement "bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;" (assignment_expression "bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8" identifier = (binary_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8" (subscript_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2]" (parenthesized_expression "(&switchD_002d8845::switchdataD_00390528)" ( (ERROR "&switchD_002d8845::" (pointer_expression "&switchD_002d8845" & identifier) : :) identifier )) [ identifier ]) == number_literal)) ;) (switch_statement "switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }" switch (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (compound_statement "{\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }" { (case_statement "case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;" case number_literal : (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904c4;" (assignment_expression "pbVar9 = &DAT_003904c4" identifier = (pointer_expression "&DAT_003904c4" & identifier)) ;) (do_statement "do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);" do (compound_statement "{\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar9;" (assignment_expression "bVar10 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar12 = *pbVar7 == *pbVar9;" (assignment_expression "bVar12 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar10 && !bVar12) == bVar10;" (assignment_expression "bVar10 = (!bVar10 && !bVar12) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n                  param_1 = param_1 + 3;\n                }" { (expression_statement "param_1 = param_1 + 3;" (assignment_expression "param_1 = param_1 + 3" identifier = (binary_expression "param_1 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }" else (compound_statement "{\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904c8;" (assignment_expression "pbVar9 = &DAT_003904c8" identifier = (pointer_expression "&DAT_003904c8" & identifier)) ;) (do_statement "do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);" do (compound_statement "{\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904cd;" (assignment_expression "pbVar9 = &DAT_003904cd" identifier = (pointer_expression "&DAT_003904cd" & identifier)) ;) (do_statement "do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);" do (compound_statement "{\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar7 < *pbVar9;" (assignment_expression "bVar12 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904d2;" (assignment_expression "pbVar9 = &DAT_003904d2" identifier = (pointer_expression "&DAT_003904d2" & identifier)) ;) (do_statement "do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);" do (compound_statement "{\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904d7;" (assignment_expression "pbVar9 = &DAT_003904d7" identifier = (pointer_expression "&DAT_003904d7" & identifier)) ;) (do_statement "do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);" do (compound_statement "{\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar7 < *pbVar9;" (assignment_expression "bVar12 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904dc;" (assignment_expression "pbVar9 = &DAT_003904dc" identifier = (pointer_expression "&DAT_003904dc" & identifier)) ;) (do_statement "do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);" do (compound_statement "{\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904e1;" (assignment_expression "pbVar9 = &DAT_003904e1" identifier = (pointer_expression "&DAT_003904e1" & identifier)) ;) (do_statement "do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);" do (compound_statement "{\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar7 < *pbVar9;" (assignment_expression "bVar12 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904e6;" (assignment_expression "pbVar9 = &DAT_003904e6" identifier = (pointer_expression "&DAT_003904e6" & identifier)) ;) (do_statement "do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);" do (compound_statement "{\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (if_statement "if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }" if (parenthesized_expression "((!bVar11 && !bVar10) != bVar11)" ( (binary_expression "(!bVar11 && !bVar10) != bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) != identifier) )) (compound_statement "{\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }" { (expression_statement "iVar8 = strncmp((char *)param_1,"$u20$",5);" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u20$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u20$",5)" identifier (argument_list "((char *)param_1,"$u20$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u20$"" " string_content ") , number_literal )))) ;) (if_statement "if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }" if (parenthesized_expression "((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0))))" ( (binary_expression "(((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))" (parenthesized_expression "(((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))" ( (binary_expression "((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))))" (parenthesized_expression "((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0))))" ( (binary_expression "(((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))" (parenthesized_expression "(((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0))" ( (binary_expression "((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)" (parenthesized_expression "((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0))" ( (binary_expression "(iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)" (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u22$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u22$",5)" identifier (argument_list "((char *)param_1,"$u22$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u22$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u27$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u27$",5)" identifier (argument_list "((char *)param_1,"$u27$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u27$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))" ( (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0))" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u2b$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u2b$",5)" identifier (argument_list "((char *)param_1,"$u2b$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u2b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u3b$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u3b$",5)" identifier (argument_list "((char *)param_1,"$u3b$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u3b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )))) )) ))) )) && (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))))" ( (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u5b$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u5b$",5)" identifier (argument_list "((char *)param_1,"$u5b$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u5b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))" ( (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u5d$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u5d$",5)" identifier (argument_list "((char *)param_1,"$u5d$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u5d$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u7b$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u7b$",5)" identifier (argument_list "((char *)param_1,"$u7b$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u7b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )))) )) )))) )) ))) )) && (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))" ( (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0))" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u7d$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u7d$",5)" identifier (argument_list "((char *)param_1,"$u7d$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u7d$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u7e$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u7e$",5)" identifier (argument_list "((char *)param_1,"$u7e$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u7e$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )))) )) ))) )) (compound_statement "{\n                                  return 0;\n                                }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_1 = param_1 + 5;" (assignment_expression "param_1 = param_1 + 5" identifier = (binary_expression "param_1 + 5" identifier + number_literal)) ;) (break_statement "break;" break ;) })) })) })) })) })) })) })) (expression_statement "param_1 = param_1 + 4;" (assignment_expression "param_1 = param_1 + 4" identifier = (binary_expression "param_1 + 4" identifier + number_literal)) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x25:" case number_literal :) (case_statement "case 0x26:" case number_literal :) (case_statement "case 0x27:" case number_literal :) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x29:" case number_literal :) (case_statement "case 0x2a:" case number_literal :) (case_statement "case 0x2b:" case number_literal :) (case_statement "case 0x2c:" case number_literal :) (case_statement "case 0x2d:" case number_literal :) (case_statement "case 0x2f:" case number_literal :) (case_statement "case 0x3b:" case number_literal :) (case_statement "case 0x3c:" case number_literal :) (case_statement "case 0x3d:" case number_literal :) (case_statement "case 0x3e:" case number_literal :) (case_statement "case 0x3f:" case number_literal :) (case_statement "case 0x40:" case number_literal :) (case_statement "case 0x5b:" case number_literal :) (case_statement "case 0x5c:" case number_literal :) (case_statement "case 0x5d:" case number_literal :) (case_statement "case 0x5e:" case number_literal :) (case_statement "case 0x60:\n                return 0;" case number_literal : (return_statement "return 0;" return number_literal ;)) (case_statement "case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }" case number_literal : (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x379f36;" (assignment_expression "pbVar9 = (byte *)0x379f36" identifier = (cast_expression "(byte *)0x379f36" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);" do (compound_statement "{\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar9;" (assignment_expression "bVar10 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar12 = *pbVar7 == *pbVar9;" (assignment_expression "bVar12 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }" if (parenthesized_expression "((!bVar10 && !bVar12) == bVar10)" ( (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier) )) (compound_statement "{\n                  return 0;\n                }" { (return_statement "return 0;" return number_literal ;) }))) (case_statement "default:\n                param_1 = param_1 + 1;" default : (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;)) })) }) while (parenthesized_expression "(param_1 < pbVar1)" ( (binary_expression "param_1 < pbVar1" identifier < identifier) )) ;) })) (return_statement "return 1;" return number_literal ;) })) })) })) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "int rust_is_mangled(char *sym)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char cVar5;\n  long lVar6;\n  byte *pbVar7;\n  int iVar8;\n  char cVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  char seen [16];\n  char local_38 [8];\n  \n  bVar14 = 0;\n  pcVar4 = seen;\n  if (sym != (char *)0x0) {\n    sVar3 = strlen(sym);\n    bVar11 = sVar3 < 0x13;\n    bVar13 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = (byte *)(sym + (sVar3 - 0x13));\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar10 = &DAT_003904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar11 = *pbVar7 < *pbVar10;\n        bVar13 = *pbVar7 == *pbVar10;\n        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      cVar9 = (!bVar11 && !bVar13) - bVar11;\n      if (cVar9 == '\0') {\n        pbVar7 = pbVar1 + 3;\n        seen[0] = '\0';\n        seen[1] = '\0';\n        seen[2] = '\0';\n        seen[3] = '\0';\n        seen[4] = '\0';\n        seen[5] = '\0';\n        seen[6] = '\0';\n        seen[7] = '\0';\n        seen[8] = '\0';\n        seen[9] = '\0';\n        seen[10] = '\0';\n        seen[0xb] = '\0';\n        seen[0xc] = '\0';\n        seen[0xd] = '\0';\n        seen[0xe] = '\0';\n        seen[0xf] = '\0';\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));\nLAB_002d87bf:\n          cVar5 = seen[0];\n        }\n        else {\n          cVar5 = '\0';\n        }\n        iVar8 = 0;\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}\n\n" (function_definition "int rust_is_mangled(char *sym)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char cVar5;\n  long lVar6;\n  byte *pbVar7;\n  int iVar8;\n  char cVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  char seen [16];\n  char local_38 [8];\n  \n  bVar14 = 0;\n  pcVar4 = seen;\n  if (sym != (char *)0x0) {\n    sVar3 = strlen(sym);\n    bVar11 = sVar3 < 0x13;\n    bVar13 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = (byte *)(sym + (sVar3 - 0x13));\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar10 = &DAT_003904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar11 = *pbVar7 < *pbVar10;\n        bVar13 = *pbVar7 == *pbVar10;\n        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      cVar9 = (!bVar11 && !bVar13) - bVar11;\n      if (cVar9 == '\0') {\n        pbVar7 = pbVar1 + 3;\n        seen[0] = '\0';\n        seen[1] = '\0';\n        seen[2] = '\0';\n        seen[3] = '\0';\n        seen[4] = '\0';\n        seen[5] = '\0';\n        seen[6] = '\0';\n        seen[7] = '\0';\n        seen[8] = '\0';\n        seen[9] = '\0';\n        seen[10] = '\0';\n        seen[0xb] = '\0';\n        seen[0xc] = '\0';\n        seen[0xd] = '\0';\n        seen[0xe] = '\0';\n        seen[0xf] = '\0';\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));\nLAB_002d87bf:\n          cVar5 = seen[0];\n        }\n        else {\n          cVar5 = '\0';\n        }\n        iVar8 = 0;\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" primitive_type (function_declarator "rust_is_mangled(char *sym)" identifier (parameter_list "(char *sym)" ( (parameter_declaration "char *sym" primitive_type (pointer_declarator "*sym" * identifier)) ))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char cVar5;\n  long lVar6;\n  byte *pbVar7;\n  int iVar8;\n  char cVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  char seen [16];\n  char local_38 [8];\n  \n  bVar14 = 0;\n  pcVar4 = seen;\n  if (sym != (char *)0x0) {\n    sVar3 = strlen(sym);\n    bVar11 = sVar3 < 0x13;\n    bVar13 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = (byte *)(sym + (sVar3 - 0x13));\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar10 = &DAT_003904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar11 = *pbVar7 < *pbVar10;\n        bVar13 = *pbVar7 == *pbVar10;\n        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      cVar9 = (!bVar11 && !bVar13) - bVar11;\n      if (cVar9 == '\0') {\n        pbVar7 = pbVar1 + 3;\n        seen[0] = '\0';\n        seen[1] = '\0';\n        seen[2] = '\0';\n        seen[3] = '\0';\n        seen[4] = '\0';\n        seen[5] = '\0';\n        seen[6] = '\0';\n        seen[7] = '\0';\n        seen[8] = '\0';\n        seen[9] = '\0';\n        seen[10] = '\0';\n        seen[0xb] = '\0';\n        seen[0xc] = '\0';\n        seen[0xd] = '\0';\n        seen[0xe] = '\0';\n        seen[0xf] = '\0';\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));\nLAB_002d87bf:\n          cVar5 = seen[0];\n        }\n        else {\n          cVar5 = '\0';\n        }\n        iVar8 = 0;\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "char seen [16];" primitive_type (array_declarator "seen [16]" identifier [ number_literal ]) ;) (declaration "char local_38 [8];" primitive_type (array_declarator "local_38 [8]" identifier [ number_literal ]) ;) (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) (expression_statement "pcVar4 = seen;" (assignment_expression "pcVar4 = seen" identifier = identifier) ;) (if_statement "if (sym != (char *)0x0) {\n    sVar3 = strlen(sym);\n    bVar11 = sVar3 < 0x13;\n    bVar13 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = (byte *)(sym + (sVar3 - 0x13));\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar10 = &DAT_003904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar11 = *pbVar7 < *pbVar10;\n        bVar13 = *pbVar7 == *pbVar10;\n        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      cVar9 = (!bVar11 && !bVar13) - bVar11;\n      if (cVar9 == '\0') {\n        pbVar7 = pbVar1 + 3;\n        seen[0] = '\0';\n        seen[1] = '\0';\n        seen[2] = '\0';\n        seen[3] = '\0';\n        seen[4] = '\0';\n        seen[5] = '\0';\n        seen[6] = '\0';\n        seen[7] = '\0';\n        seen[8] = '\0';\n        seen[9] = '\0';\n        seen[10] = '\0';\n        seen[0xb] = '\0';\n        seen[0xc] = '\0';\n        seen[0xd] = '\0';\n        seen[0xe] = '\0';\n        seen[0xf] = '\0';\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));\nLAB_002d87bf:\n          cVar5 = seen[0];\n        }\n        else {\n          cVar5 = '\0';\n        }\n        iVar8 = 0;\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(sym != (char *)0x0)" ( (binary_expression "sym != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sVar3 = strlen(sym);\n    bVar11 = sVar3 < 0x13;\n    bVar13 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = (byte *)(sym + (sVar3 - 0x13));\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar10 = &DAT_003904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar11 = *pbVar7 < *pbVar10;\n        bVar13 = *pbVar7 == *pbVar10;\n        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      cVar9 = (!bVar11 && !bVar13) - bVar11;\n      if (cVar9 == '\0') {\n        pbVar7 = pbVar1 + 3;\n        seen[0] = '\0';\n        seen[1] = '\0';\n        seen[2] = '\0';\n        seen[3] = '\0';\n        seen[4] = '\0';\n        seen[5] = '\0';\n        seen[6] = '\0';\n        seen[7] = '\0';\n        seen[8] = '\0';\n        seen[9] = '\0';\n        seen[10] = '\0';\n        seen[0xb] = '\0';\n        seen[0xc] = '\0';\n        seen[0xd] = '\0';\n        seen[0xe] = '\0';\n        seen[0xf] = '\0';\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));\nLAB_002d87bf:\n          cVar5 = seen[0];\n        }\n        else {\n          cVar5 = '\0';\n        }\n        iVar8 = 0;\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }" { (expression_statement "sVar3 = strlen(sym);" (assignment_expression "sVar3 = strlen(sym)" identifier = (call_expression "strlen(sym)" identifier (argument_list "(sym)" ( identifier )))) ;) (expression_statement "bVar11 = sVar3 < 0x13;" (assignment_expression "bVar11 = sVar3 < 0x13" identifier = (binary_expression "sVar3 < 0x13" identifier < number_literal)) ;) (expression_statement "bVar13 = sVar3 == 0x13;" (assignment_expression "bVar13 = sVar3 == 0x13" identifier = (binary_expression "sVar3 == 0x13" identifier == number_literal)) ;) (if_statement "if (0x13 < sVar3) {\n      pbVar1 = (byte *)(sym + (sVar3 - 0x13));\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar10 = &DAT_003904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar11 = *pbVar7 < *pbVar10;\n        bVar13 = *pbVar7 == *pbVar10;\n        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      cVar9 = (!bVar11 && !bVar13) - bVar11;\n      if (cVar9 == '\0') {\n        pbVar7 = pbVar1 + 3;\n        seen[0] = '\0';\n        seen[1] = '\0';\n        seen[2] = '\0';\n        seen[3] = '\0';\n        seen[4] = '\0';\n        seen[5] = '\0';\n        seen[6] = '\0';\n        seen[7] = '\0';\n        seen[8] = '\0';\n        seen[9] = '\0';\n        seen[10] = '\0';\n        seen[0xb] = '\0';\n        seen[0xc] = '\0';\n        seen[0xd] = '\0';\n        seen[0xe] = '\0';\n        seen[0xf] = '\0';\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));\nLAB_002d87bf:\n          cVar5 = seen[0];\n        }\n        else {\n          cVar5 = '\0';\n        }\n        iVar8 = 0;\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }" if (parenthesized_expression "(0x13 < sVar3)" ( (binary_expression "0x13 < sVar3" number_literal < identifier) )) (compound_statement "{\n      pbVar1 = (byte *)(sym + (sVar3 - 0x13));\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar10 = &DAT_003904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar11 = *pbVar7 < *pbVar10;\n        bVar13 = *pbVar7 == *pbVar10;\n        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      cVar9 = (!bVar11 && !bVar13) - bVar11;\n      if (cVar9 == '\0') {\n        pbVar7 = pbVar1 + 3;\n        seen[0] = '\0';\n        seen[1] = '\0';\n        seen[2] = '\0';\n        seen[3] = '\0';\n        seen[4] = '\0';\n        seen[5] = '\0';\n        seen[6] = '\0';\n        seen[7] = '\0';\n        seen[8] = '\0';\n        seen[9] = '\0';\n        seen[10] = '\0';\n        seen[0xb] = '\0';\n        seen[0xc] = '\0';\n        seen[0xd] = '\0';\n        seen[0xe] = '\0';\n        seen[0xf] = '\0';\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));\nLAB_002d87bf:\n          cVar5 = seen[0];\n        }\n        else {\n          cVar5 = '\0';\n        }\n        iVar8 = 0;\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }" { (expression_statement "pbVar1 = (byte *)(sym + (sVar3 - 0x13));" (assignment_expression "pbVar1 = (byte *)(sym + (sVar3 - 0x13))" identifier = (cast_expression "(byte *)(sym + (sVar3 - 0x13))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sym + (sVar3 - 0x13))" ( (binary_expression "sym + (sVar3 - 0x13)" identifier + (parenthesized_expression "(sVar3 - 0x13)" ( (binary_expression "sVar3 - 0x13" identifier - number_literal) ))) )))) ;) (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar1;" (assignment_expression "pbVar7 = pbVar1" identifier = identifier) ;) (expression_statement "pbVar10 = &DAT_003904c0;" (assignment_expression "pbVar10 = &DAT_003904c0" identifier = (pointer_expression "&DAT_003904c0" & identifier)) ;) (do_statement "do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar11 = *pbVar7 < *pbVar10;\n        bVar13 = *pbVar7 == *pbVar10;\n        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);" do (compound_statement "{\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar11 = *pbVar7 < *pbVar10;\n        bVar13 = *pbVar7 == *pbVar10;\n        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar10;" (assignment_expression "bVar11 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar7 == *pbVar10;" (assignment_expression "bVar13 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "cVar9 = (!bVar11 && !bVar13) - bVar11;" (assignment_expression "cVar9 = (!bVar11 && !bVar13) - bVar11" identifier = (binary_expression "(!bVar11 && !bVar13) - bVar11" (parenthesized_expression "(!bVar11 && !bVar13)" ( (binary_expression "!bVar11 && !bVar13" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) - identifier)) ;) (if_statement "if (cVar9 == '\0') {\n        pbVar7 = pbVar1 + 3;\n        seen[0] = '\0';\n        seen[1] = '\0';\n        seen[2] = '\0';\n        seen[3] = '\0';\n        seen[4] = '\0';\n        seen[5] = '\0';\n        seen[6] = '\0';\n        seen[7] = '\0';\n        seen[8] = '\0';\n        seen[9] = '\0';\n        seen[10] = '\0';\n        seen[0xb] = '\0';\n        seen[0xc] = '\0';\n        seen[0xd] = '\0';\n        seen[0xe] = '\0';\n        seen[0xf] = '\0';\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));\nLAB_002d87bf:\n          cVar5 = seen[0];\n        }\n        else {\n          cVar5 = '\0';\n        }\n        iVar8 = 0;\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }\n          return 1;\n        }\n      }" if (parenthesized_expression "(cVar9 == '\0')" ( (binary_expression "cVar9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pbVar7 = pbVar1 + 3;\n        seen[0] = '\0';\n        seen[1] = '\0';\n        seen[2] = '\0';\n        seen[3] = '\0';\n        seen[4] = '\0';\n        seen[5] = '\0';\n        seen[6] = '\0';\n        seen[7] = '\0';\n        seen[8] = '\0';\n        seen[9] = '\0';\n        seen[10] = '\0';\n        seen[0xb] = '\0';\n        seen[0xc] = '\0';\n        seen[0xd] = '\0';\n        seen[0xe] = '\0';\n        seen[0xf] = '\0';\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));\nLAB_002d87bf:\n          cVar5 = seen[0];\n        }\n        else {\n          cVar5 = '\0';\n        }\n        iVar8 = 0;\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }\n          return 1;\n        }\n      }" { (expression_statement "pbVar7 = pbVar1 + 3;" (assignment_expression "pbVar7 = pbVar1 + 3" identifier = (binary_expression "pbVar1 + 3" identifier + number_literal)) ;) (expression_statement "seen[0] = '\0';" (assignment_expression "seen[0] = '\0'" (subscript_expression "seen[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[1] = '\0';" (assignment_expression "seen[1] = '\0'" (subscript_expression "seen[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[2] = '\0';" (assignment_expression "seen[2] = '\0'" (subscript_expression "seen[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[3] = '\0';" (assignment_expression "seen[3] = '\0'" (subscript_expression "seen[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[4] = '\0';" (assignment_expression "seen[4] = '\0'" (subscript_expression "seen[4]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[5] = '\0';" (assignment_expression "seen[5] = '\0'" (subscript_expression "seen[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[6] = '\0';" (assignment_expression "seen[6] = '\0'" (subscript_expression "seen[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[7] = '\0';" (assignment_expression "seen[7] = '\0'" (subscript_expression "seen[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[8] = '\0';" (assignment_expression "seen[8] = '\0'" (subscript_expression "seen[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[9] = '\0';" (assignment_expression "seen[9] = '\0'" (subscript_expression "seen[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[10] = '\0';" (assignment_expression "seen[10] = '\0'" (subscript_expression "seen[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[0xb] = '\0';" (assignment_expression "seen[0xb] = '\0'" (subscript_expression "seen[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[0xc] = '\0';" (assignment_expression "seen[0xc] = '\0'" (subscript_expression "seen[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[0xd] = '\0';" (assignment_expression "seen[0xd] = '\0'" (subscript_expression "seen[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[0xe] = '\0';" (assignment_expression "seen[0xe] = '\0'" (subscript_expression "seen[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "seen[0xf] = '\0';" (assignment_expression "seen[0xf] = '\0'" (subscript_expression "seen[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));\nLAB_002d87bf:\n          cVar5 = seen[0];\n        }\n        else {\n          cVar5 = '\0';\n        }" if (parenthesized_expression "(pbVar7 < pbVar1 + 0x13)" ( (binary_expression "pbVar7 < pbVar1 + 0x13" identifier < (binary_expression "pbVar1 + 0x13" identifier + number_literal)) )) (compound_statement "{\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));\nLAB_002d87bf:\n          cVar5 = seen[0];\n        }" { (do_statement "do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          } while (pbVar7 != (byte *)(sym + sVar3));" do (compound_statement "{\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            seen[(char)bVar2 + -0x30] = '\x01';\n          }" { (while_statement "while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              seen[(char)bVar2 + -0x57] = '\x01';\n              if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;\n            }" { (expression_statement "bVar2 = *pbVar7;" (assignment_expression "bVar2 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (if_statement "if ((byte)(bVar2 - 0x30) < 10) break;" if (parenthesized_expression "((byte)(bVar2 - 0x30) < 10)" ( (binary_expression "(byte)(bVar2 - 0x30) < 10" (call_expression "(byte)(bVar2 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar2 - 0x30)" ( (binary_expression "bVar2 - 0x30" identifier - number_literal) ))) < number_literal) )) (break_statement "break;" break ;)) (if_statement "if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }" if (parenthesized_expression "(5 < (byte)(bVar2 + 0x9f))" ( (binary_expression "5 < (byte)(bVar2 + 0x9f)" number_literal < (call_expression "(byte)(bVar2 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar2 + 0x9f)" ( (binary_expression "bVar2 + 0x9f" identifier + number_literal) )))) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "seen[(char)bVar2 + -0x57] = '\x01';" (assignment_expression "seen[(char)bVar2 + -0x57] = '\x01'" (subscript_expression "seen[(char)bVar2 + -0x57]" identifier [ (binary_expression "(char)bVar2 + -0x57" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (pbVar7 == (byte *)(sym + sVar3)) goto LAB_002d87bf;" if (parenthesized_expression "(pbVar7 == (byte *)(sym + sVar3))" ( (binary_expression "pbVar7 == (byte *)(sym + sVar3)" identifier == (cast_expression "(byte *)(sym + sVar3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sym + sVar3)" ( (binary_expression "sym + sVar3" identifier + identifier) )))) )) (goto_statement "goto LAB_002d87bf;" goto statement_identifier ;)) })) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "seen[(char)bVar2 + -0x30] = '\x01';" (assignment_expression "seen[(char)bVar2 + -0x30] = '\x01'" (subscript_expression "seen[(char)bVar2 + -0x30]" identifier [ (binary_expression "(char)bVar2 + -0x30" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) }) while (parenthesized_expression "(pbVar7 != (byte *)(sym + sVar3))" ( (binary_expression "pbVar7 != (byte *)(sym + sVar3)" identifier != (cast_expression "(byte *)(sym + sVar3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sym + sVar3)" ( (binary_expression "sym + sVar3" identifier + identifier) )))) )) ;) (labeled_statement "LAB_002d87bf:\n          cVar5 = seen[0];" statement_identifier : (expression_statement "cVar5 = seen[0];" (assignment_expression "cVar5 = seen[0]" identifier = (subscript_expression "seen[0]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n          cVar5 = '\0';\n        }" else (compound_statement "{\n          cVar5 = '\0';\n        }" { (expression_statement "cVar5 = '\0';" (assignment_expression "cVar5 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }" { (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');" (assignment_expression "iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0')" identifier = (binary_expression "(iVar8 + 1) - (uint)(cVar5 == '\0')" (parenthesized_expression "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )) - (call_expression "(uint)(cVar5 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))))) ;) (if_statement "if (local_38 == pcVar4) break;" if (parenthesized_expression "(local_38 == pcVar4)" ( (binary_expression "local_38 == pcVar4" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "cVar5 = *pcVar4;" (assignment_expression "cVar5 = *pcVar4" identifier = (pointer_expression "*pcVar4" * identifier)) ;) })) (if_statement "if (iVar8 - 5U < 0xb) {\n          if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }\n          return 1;\n        }" if (parenthesized_expression "(iVar8 - 5U < 0xb)" ( (binary_expression "iVar8 - 5U < 0xb" (binary_expression "iVar8 - 5U" identifier - number_literal) < number_literal) )) (compound_statement "{\n          if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }\n          return 1;\n        }" { (if_statement "if (sym < pbVar1) {\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }" if (parenthesized_expression "(sym < pbVar1)" ( (binary_expression "sym < pbVar1" identifier < identifier) )) (compound_statement "{\n            do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);\n          }" { (do_statement "do {\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            } while (sym < pbVar1);" do (compound_statement "{\n              bVar2 = *sym - 0x24;\n              if (0x56 < bVar2) {\n                return (int)cVar9;\n              }\n              bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }\n            }" { (expression_statement "bVar2 = *sym - 0x24;" (assignment_expression "bVar2 = *sym - 0x24" identifier = (binary_expression "*sym - 0x24" (pointer_expression "*sym" * identifier) - number_literal)) ;) (if_statement "if (0x56 < bVar2) {\n                return (int)cVar9;\n              }" if (parenthesized_expression "(0x56 < bVar2)" ( (binary_expression "0x56 < bVar2" number_literal < identifier) )) (compound_statement "{\n                return (int)cVar9;\n              }" { (return_statement "return (int)cVar9;" return (cast_expression "(int)cVar9" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];" (assignment_expression "bVar11 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2]" identifier = (binary_expression "0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2]" number_literal < (subscript_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2]" (parenthesized_expression "(&switchD_002d8845::switchdataD_00390528)" ( (ERROR "&switchD_002d8845::" (pointer_expression "&switchD_002d8845" & identifier) : :) identifier )) [ identifier ]))) ;) (expression_statement "bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;" (assignment_expression "bVar13 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8" identifier = (binary_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8" (subscript_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2]" (parenthesized_expression "(&switchD_002d8845::switchdataD_00390528)" ( (ERROR "&switchD_002d8845::" (pointer_expression "&switchD_002d8845" & identifier) : :) identifier )) [ identifier ]) == number_literal)) ;) (switch_statement "switch(*sym) {\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }" switch (parenthesized_expression "(*sym)" ( (pointer_expression "*sym" * identifier) )) (compound_statement "{\n              case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;\n              case '%':\n              case '&':\n              case '\'':\n              case '(':\n              case ')':\n              case '*':\n              case '+':\n              case ',':\n              case '-':\n              case '/':\n              case ';':\n              case '<':\n              case '=':\n              case '>':\n              case '?':\n              case '@':\n              case '[':\n              case '\\':\n              case ']':\n              case '^':\n              case '`':\n                return (int)cVar9;\n              case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }\n              default:\n                sym = (char *)((byte *)sym + 1);\n              }" { (case_statement "case '$':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                bVar12 = false;\n                bVar11 = (!bVar11 && !bVar13) == bVar11;\n                if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }\n                break;" case (char_literal "'$'" ' character ') : (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)sym;" (assignment_expression "pbVar7 = (byte *)sym" identifier = (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar10 = &DAT_003904c4;" (assignment_expression "pbVar10 = &DAT_003904c4" identifier = (pointer_expression "&DAT_003904c4" & identifier)) ;) (do_statement "do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);" do (compound_statement "{\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar10;" (assignment_expression "bVar11 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar7 == *pbVar10;" (assignment_expression "bVar13 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar11 && !bVar13) == bVar11;" (assignment_expression "bVar11 = (!bVar11 && !bVar13) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar13) == bVar11" (parenthesized_expression "(!bVar11 && !bVar13)" ( (binary_expression "!bVar11 && !bVar13" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar11) {\n                  sym = (char *)((byte *)sym + 3);\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n                  sym = (char *)((byte *)sym + 3);\n                }" { (expression_statement "sym = (char *)((byte *)sym + 3);" (assignment_expression "sym = (char *)((byte *)sym + 3)" identifier = (cast_expression "(char *)((byte *)sym + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)sym + 3)" ( (binary_expression "(byte *)sym + 3" (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }" else (compound_statement "{\n                  lVar6 = 4;\n                  pbVar7 = (byte *)sym;\n                  pbVar10 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar13 = false;\n                  bVar11 = (!bVar12 && !bVar11) == bVar12;\n                  if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  sym = (char *)((byte *)sym + 4);\n                }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)sym;" (assignment_expression "pbVar7 = (byte *)sym" identifier = (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar10 = &DAT_003904c8;" (assignment_expression "pbVar10 = &DAT_003904c8" identifier = (pointer_expression "&DAT_003904c8" & identifier)) ;) (do_statement "do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);" do (compound_statement "{\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar12 = *pbVar7 < *pbVar10;\n                    bVar11 = *pbVar7 == *pbVar10;\n                    pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar7 < *pbVar10;" (assignment_expression "bVar12 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar10;" (assignment_expression "bVar11 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" ( (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar11) {\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n                    lVar6 = 4;\n                    pbVar7 = (byte *)sym;\n                    pbVar10 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);\n                    bVar12 = false;\n                    bVar11 = (!bVar13 && !bVar11) == bVar13;\n                    if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)sym;" (assignment_expression "pbVar7 = (byte *)sym" identifier = (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar10 = &DAT_003904cd;" (assignment_expression "pbVar10 = &DAT_003904cd" identifier = (pointer_expression "&DAT_003904cd" & identifier)) ;) (do_statement "do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    } while (bVar11);" do (compound_statement "{\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar13 = *pbVar7 < *pbVar10;\n                      bVar11 = *pbVar7 == *pbVar10;\n                      pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                      pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                    }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar7 < *pbVar10;" (assignment_expression "bVar13 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar10;" (assignment_expression "bVar11 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" ( (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar11) {\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n                      lVar6 = 4;\n                      pbVar7 = (byte *)sym;\n                      pbVar10 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);\n                      bVar13 = false;\n                      bVar11 = (!bVar12 && !bVar11) == bVar12;\n                      if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)sym;" (assignment_expression "pbVar7 = (byte *)sym" identifier = (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar10 = &DAT_003904d2;" (assignment_expression "pbVar10 = &DAT_003904d2" identifier = (pointer_expression "&DAT_003904d2" & identifier)) ;) (do_statement "do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      } while (bVar11);" do (compound_statement "{\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar12 = *pbVar7 < *pbVar10;\n                        bVar11 = *pbVar7 == *pbVar10;\n                        pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                      }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar7 < *pbVar10;" (assignment_expression "bVar12 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar10;" (assignment_expression "bVar11 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" ( (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar11) {\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n                        lVar6 = 4;\n                        pbVar7 = (byte *)sym;\n                        pbVar10 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);\n                        bVar12 = false;\n                        bVar11 = (!bVar13 && !bVar11) == bVar13;\n                        if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)sym;" (assignment_expression "pbVar7 = (byte *)sym" identifier = (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar10 = &DAT_003904d7;" (assignment_expression "pbVar10 = &DAT_003904d7" identifier = (pointer_expression "&DAT_003904d7" & identifier)) ;) (do_statement "do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        } while (bVar11);" do (compound_statement "{\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar13 = *pbVar7 < *pbVar10;\n                          bVar11 = *pbVar7 == *pbVar10;\n                          pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                        }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar7 < *pbVar10;" (assignment_expression "bVar13 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar10;" (assignment_expression "bVar11 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" ( (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar11) {\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n                          lVar6 = 4;\n                          pbVar7 = (byte *)sym;\n                          pbVar10 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);\n                          bVar13 = false;\n                          bVar11 = (!bVar12 && !bVar11) == bVar12;\n                          if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }\n                        }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)sym;" (assignment_expression "pbVar7 = (byte *)sym" identifier = (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar10 = &DAT_003904dc;" (assignment_expression "pbVar10 = &DAT_003904dc" identifier = (pointer_expression "&DAT_003904dc" & identifier)) ;) (do_statement "do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          } while (bVar11);" do (compound_statement "{\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar12 = *pbVar7 < *pbVar10;\n                            bVar11 = *pbVar7 == *pbVar10;\n                            pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                          }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar7 < *pbVar10;" (assignment_expression "bVar12 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar10;" (assignment_expression "bVar11 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" ( (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar11) {\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n                            lVar6 = 4;\n                            pbVar7 = (byte *)sym;\n                            pbVar10 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);\n                            bVar12 = false;\n                            bVar11 = (!bVar13 && !bVar11) == bVar13;\n                            if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }\n                          }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)sym;" (assignment_expression "pbVar7 = (byte *)sym" identifier = (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar10 = &DAT_003904e1;" (assignment_expression "pbVar10 = &DAT_003904e1" identifier = (pointer_expression "&DAT_003904e1" & identifier)) ;) (do_statement "do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            } while (bVar11);" do (compound_statement "{\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar13 = *pbVar7 < *pbVar10;\n                              bVar11 = *pbVar7 == *pbVar10;\n                              pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                            }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar7 < *pbVar10;" (assignment_expression "bVar13 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar10;" (assignment_expression "bVar11 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" ( (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar11) {\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n                              lVar6 = 4;\n                              pbVar7 = (byte *)sym;\n                              pbVar10 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);\n                              if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }\n                            }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)sym;" (assignment_expression "pbVar7 = (byte *)sym" identifier = (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar10 = &DAT_003904e6;" (assignment_expression "pbVar10 = &DAT_003904e6" identifier = (pointer_expression "&DAT_003904e6" & identifier)) ;) (do_statement "do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              } while (bVar11);" do (compound_statement "{\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar12 = *pbVar7 < *pbVar10;\n                                bVar11 = *pbVar7 == *pbVar10;\n                                pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                              }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar7 < *pbVar10;" (assignment_expression "bVar12 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar10;" (assignment_expression "bVar11 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar12 && !bVar11) != bVar12) {\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }" if (parenthesized_expression "((!bVar12 && !bVar11) != bVar12)" ( (binary_expression "(!bVar12 && !bVar11) != bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" ( (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) != identifier) )) (compound_statement "{\n                                iVar8 = strncmp(sym,"$u20$",5);\n                                if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                sym = (char *)((byte *)sym + 5);\n                                break;\n                              }" { (expression_statement "iVar8 = strncmp(sym,"$u20$",5);" (assignment_expression "iVar8 = strncmp(sym,"$u20$",5)" identifier = (call_expression "strncmp(sym,"$u20$",5)" identifier (argument_list "(sym,"$u20$",5)" ( identifier , (string_literal ""$u20$"" " string_content ") , number_literal )))) ;) (if_statement "if ((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }" if (parenthesized_expression "((((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0))))" ( (binary_expression "(((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))) &&\n                                   ((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))" (parenthesized_expression "(((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0))))))" ( (binary_expression "((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))" (parenthesized_expression "((((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0))))" ( (binary_expression "(((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))" (parenthesized_expression "(((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0))" ( (binary_expression "((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       ) && (iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)" (parenthesized_expression "((iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)\n                                       )" ( (binary_expression "(iVar8 != 0) && (iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)" (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp(sym,"$u22$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp(sym,"$u22$",5)" identifier = (call_expression "strncmp(sym,"$u22$",5)" identifier (argument_list "(sym,"$u22$",5)" ( identifier , (string_literal ""$u22$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp(sym,"$u27$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp(sym,"$u27$",5)" identifier = (call_expression "strncmp(sym,"$u27$",5)" identifier (argument_list "(sym,"$u27$",5)" ( identifier , (string_literal ""$u27$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)))" ( (parenthesized_expression "(iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0))" ( (comma_expression "iVar8 = strncmp(sym,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp(sym,"$u2b$",5)" identifier = (call_expression "strncmp(sym,"$u2b$",5)" identifier (argument_list "(sym,"$u2b$",5)" ( identifier , (string_literal ""$u2b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "(iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp(sym,"$u3b$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp(sym,"$u3b$",5)" identifier = (call_expression "strncmp(sym,"$u3b$",5)" identifier (argument_list "(sym,"$u3b$",5)" ( identifier , (string_literal ""$u3b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )))) )) ))) )) && (parenthesized_expression "((iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))))" ( (parenthesized_expression "(iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0))))" ( (comma_expression "iVar8 = strncmp(sym,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))" (assignment_expression "iVar8 = strncmp(sym,"$u5b$",5)" identifier = (call_expression "strncmp(sym,"$u5b$",5)" identifier (argument_list "(sym,"$u5b$",5)" ( identifier , (string_literal ""$u5b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                     ((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "((iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)))" ( (parenthesized_expression "(iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0))" ( (comma_expression "iVar8 = strncmp(sym,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp(sym,"$u5d$",5)" identifier = (call_expression "strncmp(sym,"$u5d$",5)" identifier (argument_list "(sym,"$u5d$",5)" ( identifier , (string_literal ""$u5d$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                      (iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "(iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp(sym,"$u7b$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp(sym,"$u7b$",5)" identifier = (call_expression "strncmp(sym,"$u7b$",5)" identifier (argument_list "(sym,"$u7b$",5)" ( identifier , (string_literal ""$u7b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )))) )) )))) )) ))) )) && (parenthesized_expression "((iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)))" ( (parenthesized_expression "(iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0))" ( (comma_expression "iVar8 = strncmp(sym,"$u7d$",5), iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp(sym,"$u7d$",5)" identifier = (call_expression "strncmp(sym,"$u7d$",5)" identifier (argument_list "(sym,"$u7d$",5)" ( identifier , (string_literal ""$u7d$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                    (iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "(iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp(sym,"$u7e$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp(sym,"$u7e$",5)" identifier = (call_expression "strncmp(sym,"$u7e$",5)" identifier (argument_list "(sym,"$u7e$",5)" ( identifier , (string_literal ""$u7e$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )))) )) ))) )) (compound_statement "{\n                                  return 0;\n                                }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "sym = (char *)((byte *)sym + 5);" (assignment_expression "sym = (char *)((byte *)sym + 5)" identifier = (cast_expression "(char *)((byte *)sym + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)sym + 5)" ( (binary_expression "(byte *)sym + 5" (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (break_statement "break;" break ;) })) })) })) })) })) })) })) (expression_statement "sym = (char *)((byte *)sym + 4);" (assignment_expression "sym = (char *)((byte *)sym + 4)" identifier = (cast_expression "(char *)((byte *)sym + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)sym + 4)" ( (binary_expression "(byte *)sym + 4" (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case '%':" case (char_literal "'%'" ' character ') :) (case_statement "case '&':" case (char_literal "'&'" ' character ') :) (case_statement "case '\'':" case (char_literal "'\''" ' escape_sequence ') :) (case_statement "case '(':" case (char_literal "'('" ' character ') :) (case_statement "case ')':" case (char_literal "')'" ' character ') :) (case_statement "case '*':" case (char_literal "'*'" ' character ') :) (case_statement "case '+':" case (char_literal "'+'" ' character ') :) (case_statement "case ',':" case (char_literal "','" ' character ') :) (case_statement "case '-':" case (char_literal "'-'" ' character ') :) (case_statement "case '/':" case (char_literal "'/'" ' character ') :) (case_statement "case ';':" case (char_literal "';'" ' character ') :) (case_statement "case '<':" case (char_literal "'<'" ' character ') :) (case_statement "case '=':" case (char_literal "'='" ' character ') :) (case_statement "case '>':" case (char_literal "'>'" ' character ') :) (case_statement "case '?':" case (char_literal "'?'" ' character ') :) (case_statement "case '@':" case (char_literal "'@'" ' character ') :) (case_statement "case '[':" case (char_literal "'['" ' character ') :) (case_statement "case '\\':" case (char_literal "'\\'" ' escape_sequence ') :) (case_statement "case ']':" case (char_literal "']'" ' character ') :) (case_statement "case '^':" case (char_literal "'^'" ' character ') :) (case_statement "case '`':\n                return (int)cVar9;" case (char_literal "'`'" ' character ') : (return_statement "return (int)cVar9;" return (cast_expression "(int)cVar9" ( (type_descriptor "int" primitive_type) ) identifier) ;)) (case_statement "case '.':\n                lVar6 = 3;\n                pbVar7 = (byte *)sym;\n                pbVar10 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);\n                if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }" case (char_literal "'.'" ' character ') : (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)sym;" (assignment_expression "pbVar7 = (byte *)sym" identifier = (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar10 = (byte *)0x379f36;" (assignment_expression "pbVar10 = (byte *)0x379f36" identifier = (cast_expression "(byte *)0x379f36" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar13);" do (compound_statement "{\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar11 = *pbVar7 < *pbVar10;\n                  bVar13 = *pbVar7 == *pbVar10;\n                  pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar10;" (assignment_expression "bVar11 = *pbVar7 < *pbVar10" identifier = (binary_expression "*pbVar7 < *pbVar10" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar7 == *pbVar10;" (assignment_expression "bVar13 = *pbVar7 == *pbVar10" identifier = (binary_expression "*pbVar7 == *pbVar10" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (if_statement "if ((!bVar11 && !bVar13) == bVar11) {\n                  return 0;\n                }" if (parenthesized_expression "((!bVar11 && !bVar13) == bVar11)" ( (binary_expression "(!bVar11 && !bVar13) == bVar11" (parenthesized_expression "(!bVar11 && !bVar13)" ( (binary_expression "!bVar11 && !bVar13" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier) )) (compound_statement "{\n                  return 0;\n                }" { (return_statement "return 0;" return number_literal ;) }))) (case_statement "default:\n                sym = (char *)((byte *)sym + 1);" default : (expression_statement "sym = (char *)((byte *)sym + 1);" (assignment_expression "sym = (char *)((byte *)sym + 1)" identifier = (cast_expression "(char *)((byte *)sym + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)sym + 1)" ( (binary_expression "(byte *)sym + 1" (cast_expression "(byte *)sym" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;)) })) }) while (parenthesized_expression "(sym < pbVar1)" ( (binary_expression "sym < pbVar1" identifier < identifier) )) ;) })) (return_statement "return 1;" return number_literal ;) })) })) })) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "undefined4 FUN_002d8700(byte *param_1)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char cVar5;\n  long lVar6;\n  byte *pbVar7;\n  int iVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined1 local_48 [16];\n  char local_38 [8];\n  \n  bVar13 = 0;\n  pcVar4 = local_48;\n  if (param_1 != (byte *)0x0) {\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_002d8700(byte *param_1)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char cVar5;\n  long lVar6;\n  byte *pbVar7;\n  int iVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined1 local_48 [16];\n  char local_38 [8];\n  \n  bVar13 = 0;\n  pcVar4 = local_48;\n  if (param_1 != (byte *)0x0) {\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_002d8700(byte *param_1)" identifier (parameter_list "(byte *param_1)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char cVar5;\n  long lVar6;\n  byte *pbVar7;\n  int iVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined1 local_48 [16];\n  char local_38 [8];\n  \n  bVar13 = 0;\n  pcVar4 = local_48;\n  if (param_1 != (byte *)0x0) {\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "undefined1 local_48 [16];" type_identifier (array_declarator "local_48 [16]" identifier [ number_literal ]) ;) (declaration "char local_38 [8];" primitive_type (array_declarator "local_38 [8]" identifier [ number_literal ]) ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "pcVar4 = local_48;" (assignment_expression "pcVar4 = local_48" identifier = identifier) ;) (if_statement "if (param_1 != (byte *)0x0) {\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(param_1 != (byte *)0x0)" ( (binary_expression "param_1 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }" { (expression_statement "sVar3 = strlen((char *)param_1);" (assignment_expression "sVar3 = 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 "bVar10 = sVar3 < 0x13;" (assignment_expression "bVar10 = sVar3 < 0x13" identifier = (binary_expression "sVar3 < 0x13" identifier < number_literal)) ;) (expression_statement "bVar12 = sVar3 == 0x13;" (assignment_expression "bVar12 = sVar3 == 0x13" identifier = (binary_expression "sVar3 == 0x13" identifier == number_literal)) ;) (if_statement "if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }" if (parenthesized_expression "(0x13 < sVar3)" ( (binary_expression "0x13 < sVar3" number_literal < identifier) )) (compound_statement "{\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }" { (expression_statement "pbVar1 = param_1 + (sVar3 - 0x13);" (assignment_expression "pbVar1 = param_1 + (sVar3 - 0x13)" identifier = (binary_expression "param_1 + (sVar3 - 0x13)" identifier + (parenthesized_expression "(sVar3 - 0x13)" ( (binary_expression "sVar3 - 0x13" identifier - number_literal) )))) ;) (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar1;" (assignment_expression "pbVar7 = pbVar1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x3904c0;" (assignment_expression "pbVar9 = (byte *)0x3904c0" identifier = (cast_expression "(byte *)0x3904c0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);" do (compound_statement "{\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar9;" (assignment_expression "bVar10 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar12 = *pbVar7 == *pbVar9;" (assignment_expression "bVar12 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }" if (parenthesized_expression "((!bVar10 && !bVar12) == bVar10)" ( (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier) )) (compound_statement "{\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }" { (expression_statement "pbVar7 = pbVar1 + 3;" (assignment_expression "pbVar7 = pbVar1 + 3" identifier = (binary_expression "pbVar1 + 3" identifier + number_literal)) ;) (expression_statement "local_48 = (undefined1  [16])0x0;" (assignment_expression "local_48 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (if_statement "if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }" if (parenthesized_expression "(pbVar7 < pbVar1 + 0x13)" ( (binary_expression "pbVar7 < pbVar1 + 0x13" identifier < (binary_expression "pbVar1 + 0x13" identifier + number_literal)) )) (compound_statement "{\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }" { (do_statement "do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);" do (compound_statement "{\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          }" { (while_statement "while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }" { (expression_statement "bVar2 = *pbVar7;" (assignment_expression "bVar2 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (if_statement "if ((byte)(bVar2 - 0x30) < 10) break;" if (parenthesized_expression "((byte)(bVar2 - 0x30) < 10)" ( (binary_expression "(byte)(bVar2 - 0x30) < 10" (call_expression "(byte)(bVar2 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar2 - 0x30)" ( (binary_expression "bVar2 - 0x30" identifier - number_literal) ))) < number_literal) )) (break_statement "break;" break ;)) (if_statement "if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }" if (parenthesized_expression "(5 < (byte)(bVar2 + 0x9f))" ( (binary_expression "5 < (byte)(bVar2 + 0x9f)" number_literal < (call_expression "(byte)(bVar2 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar2 + 0x9f)" ( (binary_expression "bVar2 + 0x9f" identifier + number_literal) )))) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "local_48[(char)bVar2 + -0x57] = 1;" (assignment_expression "local_48[(char)bVar2 + -0x57] = 1" (subscript_expression "local_48[(char)bVar2 + -0x57]" identifier [ (binary_expression "(char)bVar2 + -0x57" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ]) = number_literal) ;) (if_statement "if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;" if (parenthesized_expression "(pbVar7 == param_1 + sVar3)" ( (binary_expression "pbVar7 == param_1 + sVar3" identifier == (binary_expression "param_1 + sVar3" identifier + identifier)) )) (goto_statement "goto LAB_002d87bf;" goto statement_identifier ;)) })) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "local_48[(char)bVar2 + -0x30] = 1;" (assignment_expression "local_48[(char)bVar2 + -0x30] = 1" (subscript_expression "local_48[(char)bVar2 + -0x30]" identifier [ (binary_expression "(char)bVar2 + -0x30" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) ]) = number_literal) ;) }) while (parenthesized_expression "(pbVar7 != param_1 + sVar3)" ( (binary_expression "pbVar7 != param_1 + sVar3" identifier != (binary_expression "param_1 + sVar3" identifier + identifier)) )) ;) (labeled_statement "LAB_002d87bf:" statement_identifier : (expression_statement "" ;)) }) (else_clause "else {\n          local_48[0] = '\0';\n        }" else (compound_statement "{\n          local_48[0] = '\0';\n        }" { (expression_statement "local_48[0] = '\0';" (assignment_expression "local_48[0] = '\0'" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "cVar5 = local_48[0];" (assignment_expression "cVar5 = local_48[0]" identifier = (subscript_expression "local_48[0]" identifier [ number_literal ])) ;) (while_statement "while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }" { (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');" (assignment_expression "iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0')" identifier = (binary_expression "(iVar8 + 1) - (uint)(cVar5 == '\0')" (parenthesized_expression "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )) - (call_expression "(uint)(cVar5 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))))) ;) (if_statement "if (local_38 == pcVar4) break;" if (parenthesized_expression "(local_38 == pcVar4)" ( (binary_expression "local_38 == pcVar4" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "cVar5 = *pcVar4;" (assignment_expression "cVar5 = *pcVar4" identifier = (pointer_expression "*pcVar4" * identifier)) ;) })) (if_statement "if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }" if (parenthesized_expression "(iVar8 - 5U < 0xb)" ( (binary_expression "iVar8 - 5U < 0xb" (binary_expression "iVar8 - 5U" identifier - number_literal) < number_literal) )) (compound_statement "{\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }" { (if_statement "if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }" if (parenthesized_expression "(param_1 < pbVar1)" ( (binary_expression "param_1 < pbVar1" identifier < identifier) )) (compound_statement "{\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }" { (do_statement "do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);" do (compound_statement "{\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            }" { (expression_statement "bVar2 = *param_1 - 0x24;" (assignment_expression "bVar2 = *param_1 - 0x24" identifier = (binary_expression "*param_1 - 0x24" (pointer_expression "*param_1" * identifier) - number_literal)) ;) (if_statement "if (0x56 < bVar2) {\n                return 0;\n              }" if (parenthesized_expression "(0x56 < bVar2)" ( (binary_expression "0x56 < bVar2" number_literal < identifier) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];" (assignment_expression "bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2]" identifier = (binary_expression "0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2]" number_literal < (subscript_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2]" (parenthesized_expression "(&switchD_002d8845::switchdataD_00390528)" ( (ERROR "&switchD_002d8845::" (pointer_expression "&switchD_002d8845" & identifier) : :) identifier )) [ identifier ]))) ;) (expression_statement "bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;" (assignment_expression "bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8" identifier = (binary_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8" (subscript_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2]" (parenthesized_expression "(&switchD_002d8845::switchdataD_00390528)" ( (ERROR "&switchD_002d8845::" (pointer_expression "&switchD_002d8845" & identifier) : :) identifier )) [ identifier ]) == number_literal)) ;) (switch_statement "switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }" switch (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (compound_statement "{\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }" { (case_statement "case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;" case number_literal : (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904c4;" (assignment_expression "pbVar9 = &DAT_003904c4" identifier = (pointer_expression "&DAT_003904c4" & identifier)) ;) (do_statement "do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);" do (compound_statement "{\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar9;" (assignment_expression "bVar10 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar12 = *pbVar7 == *pbVar9;" (assignment_expression "bVar12 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar10 && !bVar12) == bVar10;" (assignment_expression "bVar10 = (!bVar10 && !bVar12) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n                  param_1 = param_1 + 3;\n                }" { (expression_statement "param_1 = param_1 + 3;" (assignment_expression "param_1 = param_1 + 3" identifier = (binary_expression "param_1 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }" else (compound_statement "{\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904c8;" (assignment_expression "pbVar9 = &DAT_003904c8" identifier = (pointer_expression "&DAT_003904c8" & identifier)) ;) (do_statement "do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);" do (compound_statement "{\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904cd;" (assignment_expression "pbVar9 = &DAT_003904cd" identifier = (pointer_expression "&DAT_003904cd" & identifier)) ;) (do_statement "do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);" do (compound_statement "{\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar7 < *pbVar9;" (assignment_expression "bVar12 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904d2;" (assignment_expression "pbVar9 = &DAT_003904d2" identifier = (pointer_expression "&DAT_003904d2" & identifier)) ;) (do_statement "do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);" do (compound_statement "{\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904d7;" (assignment_expression "pbVar9 = &DAT_003904d7" identifier = (pointer_expression "&DAT_003904d7" & identifier)) ;) (do_statement "do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);" do (compound_statement "{\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar7 < *pbVar9;" (assignment_expression "bVar12 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904dc;" (assignment_expression "pbVar9 = &DAT_003904dc" identifier = (pointer_expression "&DAT_003904dc" & identifier)) ;) (do_statement "do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);" do (compound_statement "{\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904e1;" (assignment_expression "pbVar9 = &DAT_003904e1" identifier = (pointer_expression "&DAT_003904e1" & identifier)) ;) (do_statement "do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);" do (compound_statement "{\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar7 < *pbVar9;" (assignment_expression "bVar12 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }" { (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_003904e6;" (assignment_expression "pbVar9 = &DAT_003904e6" identifier = (pointer_expression "&DAT_003904e6" & identifier)) ;) (do_statement "do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);" do (compound_statement "{\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (if_statement "if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }" if (parenthesized_expression "((!bVar11 && !bVar10) != bVar11)" ( (binary_expression "(!bVar11 && !bVar10) != bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) != identifier) )) (compound_statement "{\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }" { (expression_statement "iVar8 = strncmp((char *)param_1,"$u20$",5);" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u20$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u20$",5)" identifier (argument_list "((char *)param_1,"$u20$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u20$"" " string_content ") , number_literal )))) ;) (if_statement "if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }" if (parenthesized_expression "((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0))))" ( (binary_expression "(((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))" (parenthesized_expression "(((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))" ( (binary_expression "((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))))" (parenthesized_expression "((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0))))" ( (binary_expression "(((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))" (parenthesized_expression "(((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0))" ( (binary_expression "((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)" (parenthesized_expression "((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0))" ( (binary_expression "(iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)" (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u22$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u22$",5)" identifier (argument_list "((char *)param_1,"$u22$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u22$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u27$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u27$",5)" identifier (argument_list "((char *)param_1,"$u27$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u27$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))" ( (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0))" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u2b$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u2b$",5)" identifier (argument_list "((char *)param_1,"$u2b$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u2b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u3b$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u3b$",5)" identifier (argument_list "((char *)param_1,"$u3b$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u3b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )))) )) ))) )) && (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))))" ( (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u5b$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u5b$",5)" identifier (argument_list "((char *)param_1,"$u5b$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u5b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))" ( (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u5d$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u5d$",5)" identifier (argument_list "((char *)param_1,"$u5d$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u5d$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u7b$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u7b$",5)" identifier (argument_list "((char *)param_1,"$u7b$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u7b$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )))) )) )))) )) ))) )) && (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))" ( (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0))" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u7d$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u7d$",5)" identifier (argument_list "((char *)param_1,"$u7d$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u7d$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" identifier != number_literal) && (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)" ( (comma_expression "iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u7e$",5)" identifier = (call_expression "strncmp((char *)param_1,"$u7e$",5)" identifier (argument_list "((char *)param_1,"$u7e$",5)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""$u7e$"" " string_content ") , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )))) )) ))) )) (compound_statement "{\n                                  return 0;\n                                }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_1 = param_1 + 5;" (assignment_expression "param_1 = param_1 + 5" identifier = (binary_expression "param_1 + 5" identifier + number_literal)) ;) (break_statement "break;" break ;) })) })) })) })) })) })) })) (expression_statement "param_1 = param_1 + 4;" (assignment_expression "param_1 = param_1 + 4" identifier = (binary_expression "param_1 + 4" identifier + number_literal)) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x25:" case number_literal :) (case_statement "case 0x26:" case number_literal :) (case_statement "case 0x27:" case number_literal :) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x29:" case number_literal :) (case_statement "case 0x2a:" case number_literal :) (case_statement "case 0x2b:" case number_literal :) (case_statement "case 0x2c:" case number_literal :) (case_statement "case 0x2d:" case number_literal :) (case_statement "case 0x2f:" case number_literal :) (case_statement "case 0x3b:" case number_literal :) (case_statement "case 0x3c:" case number_literal :) (case_statement "case 0x3d:" case number_literal :) (case_statement "case 0x3e:" case number_literal :) (case_statement "case 0x3f:" case number_literal :) (case_statement "case 0x40:" case number_literal :) (case_statement "case 0x5b:" case number_literal :) (case_statement "case 0x5c:" case number_literal :) (case_statement "case 0x5d:" case number_literal :) (case_statement "case 0x5e:" case number_literal :) (case_statement "case 0x60:\n                return 0;" case number_literal : (return_statement "return 0;" return number_literal ;)) (case_statement "case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }" case number_literal : (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" identifier = number_literal) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x379f36;" (assignment_expression "pbVar9 = (byte *)0x379f36" identifier = (cast_expression "(byte *)0x379f36" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);" do (compound_statement "{\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                }" { (if_statement "if (lVar6 == 0) break;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar9;" (assignment_expression "bVar10 = *pbVar7 < *pbVar9" identifier = (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar12 = *pbVar7 == *pbVar9;" (assignment_expression "bVar12 = *pbVar7 == *pbVar9" identifier = (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }" if (parenthesized_expression "((!bVar10 && !bVar12) == bVar10)" ( (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier) )) (compound_statement "{\n                  return 0;\n                }" { (return_statement "return 0;" return number_literal ;) }))) (case_statement "default:\n                param_1 = param_1 + 1;" default : (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;)) })) }) while (parenthesized_expression "(param_1 < pbVar1)" ( (binary_expression "param_1 < pbVar1" identifier < identifier) )) ;) })) (return_statement "return 1;" return number_literal ;) })) })) })) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + IDENT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ]) = LIT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) (labeled_statement statement_identifier : (expression_statement ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT < (subscript_expression (parenthesized_expression ( (ERROR (pointer_expression & IDENT) : :) IDENT )) [ IDENT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression (parenthesized_expression ( (ERROR (pointer_expression & IDENT) : :) IDENT )) [ IDENT ]) == LIT)) ;) (switch_statement switch (parenthesized_expression ( (pointer_expression * IDENT) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) , (binary_expression IDENT != LIT)) )))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) , (binary_expression IDENT != LIT)) )))) )) )))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) , (binary_expression IDENT != LIT)) )))) )) ))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (break_statement break ;) })) })) })) })) })) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (return_statement return LIT ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (return_statement return LIT ;) }))) (case_statement default : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) })) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (return_statement return LIT ;) })) })) })) })) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_002d8700(byte *param_1)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char cVar5;\n  long lVar6;\n  byte *pbVar7;\n  int iVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined1 local_48 [16];\n  char local_38 [8];\n  \n  bVar13 = 0;\n  pcVar4 = local_48;\n  if (param_1 != (byte *)0x0) {\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "FUN_002d8700(byte *param_1)" (identifier "FUN_002d8700") (parameter_list "(byte *param_1)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char cVar5;\n  long lVar6;\n  byte *pbVar7;\n  int iVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined1 local_48 [16];\n  char local_38 [8];\n  \n  bVar13 = 0;\n  pcVar4 = local_48;\n  if (param_1 != (byte *)0x0) {\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "byte *pbVar7;" (type_identifier "byte") (pointer_declarator "*pbVar7" (* "*") (identifier "pbVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "bool bVar11;" (primitive_type "bool") (identifier "bVar11") (; ";")) (declaration "bool bVar12;" (primitive_type "bool") (identifier "bVar12") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "undefined1 local_48 [16];" (type_identifier "undefined1") (array_declarator "local_48 [16]" (identifier "local_48") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "char local_38 [8];" (primitive_type "char") (array_declarator "local_38 [8]" (identifier "local_38") ([ "[") (number_literal "8") (] "]")) (; ";")) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" (identifier "bVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar4 = local_48;" (assignment_expression "pcVar4 = local_48" (identifier "pcVar4") (= "=") (identifier "local_48")) (; ";")) (if_statement "if (param_1 != (byte *)0x0) {\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(param_1 != (byte *)0x0)" (( "(") (binary_expression "param_1 != (byte *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    sVar3 = strlen((char *)param_1);\n    bVar10 = sVar3 < 0x13;\n    bVar12 = sVar3 == 0x13;\n    if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "sVar3 = strlen((char *)param_1);" (assignment_expression "sVar3 = strlen((char *)param_1)" (identifier "sVar3") (= "=") (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 "bVar10 = sVar3 < 0x13;" (assignment_expression "bVar10 = sVar3 < 0x13" (identifier "bVar10") (= "=") (binary_expression "sVar3 < 0x13" (identifier "sVar3") (< "<") (number_literal "0x13"))) (; ";")) (expression_statement "bVar12 = sVar3 == 0x13;" (assignment_expression "bVar12 = sVar3 == 0x13" (identifier "bVar12") (= "=") (binary_expression "sVar3 == 0x13" (identifier "sVar3") (== "==") (number_literal "0x13"))) (; ";")) (if_statement "if (0x13 < sVar3) {\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(0x13 < sVar3)" (( "(") (binary_expression "0x13 < sVar3" (number_literal "0x13") (< "<") (identifier "sVar3")) () ")")) (compound_statement "{\n      pbVar1 = param_1 + (sVar3 - 0x13);\n      lVar6 = 3;\n      pbVar7 = pbVar1;\n      pbVar9 = (byte *)0x3904c0;\n      do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }\n    }" ({ "{") (expression_statement "pbVar1 = param_1 + (sVar3 - 0x13);" (assignment_expression "pbVar1 = param_1 + (sVar3 - 0x13)" (identifier "pbVar1") (= "=") (binary_expression "param_1 + (sVar3 - 0x13)" (identifier "param_1") (+ "+") (parenthesized_expression "(sVar3 - 0x13)" (( "(") (binary_expression "sVar3 - 0x13" (identifier "sVar3") (- "-") (number_literal "0x13")) () ")")))) (; ";")) (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" (identifier "lVar6") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar7 = pbVar1;" (assignment_expression "pbVar7 = pbVar1" (identifier "pbVar7") (= "=") (identifier "pbVar1")) (; ";")) (expression_statement "pbVar9 = (byte *)0x3904c0;" (assignment_expression "pbVar9 = (byte *)0x3904c0" (identifier "pbVar9") (= "=") (cast_expression "(byte *)0x3904c0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3904c0"))) (; ";")) (do_statement "do {\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);" (do "do") (compound_statement "{\n        if (lVar6 == 0) break;\n        lVar6 = lVar6 + -1;\n        bVar10 = *pbVar7 < *pbVar9;\n        bVar12 = *pbVar7 == *pbVar9;\n        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      }" ({ "{") (if_statement "if (lVar6 == 0) break;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar7 < *pbVar9;" (assignment_expression "bVar10 = *pbVar7 < *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar12 = *pbVar7 == *pbVar9;" (assignment_expression "bVar12 = *pbVar7 == *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (; ";")) (if_statement "if ((!bVar10 && !bVar12) == bVar10) {\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }" (if "if") (parenthesized_expression "((!bVar10 && !bVar12) == bVar10)" (( "(") (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" (( "(") (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar12" (! "!") (identifier "bVar12"))) () ")")) (== "==") (identifier "bVar10")) () ")")) (compound_statement "{\n        pbVar7 = pbVar1 + 3;\n        local_48 = (undefined1  [16])0x0;\n        if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }\n        iVar8 = 0;\n        cVar5 = local_48[0];\n        while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }\n        if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }\n      }" ({ "{") (expression_statement "pbVar7 = pbVar1 + 3;" (assignment_expression "pbVar7 = pbVar1 + 3" (identifier "pbVar7") (= "=") (binary_expression "pbVar1 + 3" (identifier "pbVar1") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "local_48 = (undefined1  [16])0x0;" (assignment_expression "local_48 = (undefined1  [16])0x0" (identifier "local_48") (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (pbVar7 < pbVar1 + 0x13) {\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }\n        else {\n          local_48[0] = '\0';\n        }" (if "if") (parenthesized_expression "(pbVar7 < pbVar1 + 0x13)" (( "(") (binary_expression "pbVar7 < pbVar1 + 0x13" (identifier "pbVar7") (< "<") (binary_expression "pbVar1 + 0x13" (identifier "pbVar1") (+ "+") (number_literal "0x13"))) () ")")) (compound_statement "{\n          do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);\nLAB_002d87bf:\n        }" ({ "{") (do_statement "do {\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          } while (pbVar7 != param_1 + sVar3);" (do "do") (compound_statement "{\n            while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }\n            pbVar7 = pbVar7 + 1;\n            local_48[(char)bVar2 + -0x30] = 1;\n          }" ({ "{") (while_statement "while( true ) {\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              bVar2 = *pbVar7;\n              if ((byte)(bVar2 - 0x30) < 10) break;\n              if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }\n              pbVar7 = pbVar7 + 1;\n              local_48[(char)bVar2 + -0x57] = 1;\n              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;\n            }" ({ "{") (expression_statement "bVar2 = *pbVar7;" (assignment_expression "bVar2 = *pbVar7" (identifier "bVar2") (= "=") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7"))) (; ";")) (if_statement "if ((byte)(bVar2 - 0x30) < 10) break;" (if "if") (parenthesized_expression "((byte)(bVar2 - 0x30) < 10)" (( "(") (binary_expression "(byte)(bVar2 - 0x30) < 10" (call_expression "(byte)(bVar2 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar2 - 0x30)" (( "(") (binary_expression "bVar2 - 0x30" (identifier "bVar2") (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (5 < (byte)(bVar2 + 0x9f)) {\n                return 0;\n              }" (if "if") (parenthesized_expression "(5 < (byte)(bVar2 + 0x9f))" (( "(") (binary_expression "5 < (byte)(bVar2 + 0x9f)" (number_literal "5") (< "<") (call_expression "(byte)(bVar2 + 0x9f)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar2 + 0x9f)" (( "(") (binary_expression "bVar2 + 0x9f" (identifier "bVar2") (+ "+") (number_literal "0x9f")) () ")")))) () ")")) (compound_statement "{\n                return 0;\n              }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_48[(char)bVar2 + -0x57] = 1;" (assignment_expression "local_48[(char)bVar2 + -0x57] = 1" (subscript_expression "local_48[(char)bVar2 + -0x57]" (identifier "local_48") ([ "[") (binary_expression "(char)bVar2 + -0x57" (cast_expression "(char)bVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar2")) (+ "+") (number_literal "-0x57")) (] "]")) (= "=") (number_literal "1")) (; ";")) (if_statement "if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;" (if "if") (parenthesized_expression "(pbVar7 == param_1 + sVar3)" (( "(") (binary_expression "pbVar7 == param_1 + sVar3" (identifier "pbVar7") (== "==") (binary_expression "param_1 + sVar3" (identifier "param_1") (+ "+") (identifier "sVar3"))) () ")")) (goto_statement "goto LAB_002d87bf;" (goto "goto") (statement_identifier "LAB_002d87bf") (; ";"))) (} "}"))) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_48[(char)bVar2 + -0x30] = 1;" (assignment_expression "local_48[(char)bVar2 + -0x30] = 1" (subscript_expression "local_48[(char)bVar2 + -0x30]" (identifier "local_48") ([ "[") (binary_expression "(char)bVar2 + -0x30" (cast_expression "(char)bVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar2")) (+ "+") (number_literal "-0x30")) (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar7 != param_1 + sVar3)" (( "(") (binary_expression "pbVar7 != param_1 + sVar3" (identifier "pbVar7") (!= "!=") (binary_expression "param_1 + sVar3" (identifier "param_1") (+ "+") (identifier "sVar3"))) () ")")) (; ";")) (labeled_statement "LAB_002d87bf:" (statement_identifier "LAB_002d87bf") (: ":") (expression_statement "" (; ""))) (} "}")) (else_clause "else {\n          local_48[0] = '\0';\n        }" (else "else") (compound_statement "{\n          local_48[0] = '\0';\n        }" ({ "{") (expression_statement "local_48[0] = '\0';" (assignment_expression "local_48[0] = '\0'" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "cVar5 = local_48[0];" (assignment_expression "cVar5 = local_48[0]" (identifier "cVar5") (= "=") (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]"))) (; ";")) (while_statement "while( true ) {\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          pcVar4 = pcVar4 + 1;\n          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');\n          if (local_38 == pcVar4) break;\n          cVar5 = *pcVar4;\n        }" ({ "{") (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');" (assignment_expression "iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0')" (identifier "iVar8") (= "=") (binary_expression "(iVar8 + 1) - (uint)(cVar5 == '\0')" (parenthesized_expression "(iVar8 + 1)" (( "(") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) () ")")) (- "-") (call_expression "(uint)(cVar5 == '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(cVar5 == '\0')" (( "(") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))))) (; ";")) (if_statement "if (local_38 == pcVar4) break;" (if "if") (parenthesized_expression "(local_38 == pcVar4)" (( "(") (binary_expression "local_38 == pcVar4" (identifier "local_38") (== "==") (identifier "pcVar4")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "cVar5 = *pcVar4;" (assignment_expression "cVar5 = *pcVar4" (identifier "cVar5") (= "=") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4"))) (; ";")) (} "}"))) (if_statement "if (iVar8 - 5U < 0xb) {\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }" (if "if") (parenthesized_expression "(iVar8 - 5U < 0xb)" (( "(") (binary_expression "iVar8 - 5U < 0xb" (binary_expression "iVar8 - 5U" (identifier "iVar8") (- "-") (number_literal "5U")) (< "<") (number_literal "0xb")) () ")")) (compound_statement "{\n          if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }\n          return 1;\n        }" ({ "{") (if_statement "if (param_1 < pbVar1) {\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }" (if "if") (parenthesized_expression "(param_1 < pbVar1)" (( "(") (binary_expression "param_1 < pbVar1" (identifier "param_1") (< "<") (identifier "pbVar1")) () ")")) (compound_statement "{\n            do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);\n          }" ({ "{") (do_statement "do {\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            } while (param_1 < pbVar1);" (do "do") (compound_statement "{\n              bVar2 = *param_1 - 0x24;\n              if (0x56 < bVar2) {\n                return 0;\n              }\n              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];\n              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;\n              switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }\n            }" ({ "{") (expression_statement "bVar2 = *param_1 - 0x24;" (assignment_expression "bVar2 = *param_1 - 0x24" (identifier "bVar2") (= "=") (binary_expression "*param_1 - 0x24" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (- "-") (number_literal "0x24"))) (; ";")) (if_statement "if (0x56 < bVar2) {\n                return 0;\n              }" (if "if") (parenthesized_expression "(0x56 < bVar2)" (( "(") (binary_expression "0x56 < bVar2" (number_literal "0x56") (< "<") (identifier "bVar2")) () ")")) (compound_statement "{\n                return 0;\n              }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];" (assignment_expression "bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2]" (identifier "bVar10") (= "=") (binary_expression "0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2]" (number_literal "0xffc6fad7") (< "<") (subscript_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2]" (parenthesized_expression "(&switchD_002d8845::switchdataD_00390528)" (( "(") (ERROR "&switchD_002d8845::" (pointer_expression "&switchD_002d8845" (& "&") (identifier "switchD_002d8845")) (: ":") (: ":")) (identifier "switchdataD_00390528") () ")")) ([ "[") (identifier "bVar2") (] "]")))) (; ";")) (expression_statement "bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;" (assignment_expression "bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8" (identifier "bVar12") (= "=") (binary_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8" (subscript_expression "(&switchD_002d8845::switchdataD_00390528)[bVar2]" (parenthesized_expression "(&switchD_002d8845::switchdataD_00390528)" (( "(") (ERROR "&switchD_002d8845::" (pointer_expression "&switchD_002d8845" (& "&") (identifier "switchD_002d8845")) (: ":") (: ":")) (identifier "switchdataD_00390528") () ")")) ([ "[") (identifier "bVar2") (] "]")) (== "==") (number_literal "0xffc6fad8"))) (; ";")) (switch_statement "switch(*param_1) {\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }" (switch "switch") (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (compound_statement "{\n              case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;\n              case 0x25:\n              case 0x26:\n              case 0x27:\n              case 0x28:\n              case 0x29:\n              case 0x2a:\n              case 0x2b:\n              case 0x2c:\n              case 0x2d:\n              case 0x2f:\n              case 0x3b:\n              case 0x3c:\n              case 0x3d:\n              case 0x3e:\n              case 0x3f:\n              case 0x40:\n              case 0x5b:\n              case 0x5c:\n              case 0x5d:\n              case 0x5e:\n              case 0x60:\n                return 0;\n              case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }\n              default:\n                param_1 = param_1 + 1;\n              }" ({ "{") (case_statement "case 0x24:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = &DAT_003904c4;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                bVar11 = false;\n                bVar10 = (!bVar10 && !bVar12) == bVar10;\n                if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }\n                break;" (case "case") (number_literal "0x24") (: ":") (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" (identifier "lVar6") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" (identifier "pbVar7") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar9 = &DAT_003904c4;" (assignment_expression "pbVar9 = &DAT_003904c4" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_003904c4" (& "&") (identifier "DAT_003904c4"))) (; ";")) (do_statement "do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);" (do "do") (compound_statement "{\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                }" ({ "{") (if_statement "if (lVar6 == 0) break;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar7 < *pbVar9;" (assignment_expression "bVar10 = *pbVar7 < *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar12 = *pbVar7 == *pbVar9;" (assignment_expression "bVar12 = *pbVar7 == *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar10 && !bVar12) == bVar10;" (assignment_expression "bVar10 = (!bVar10 && !bVar12) == bVar10" (identifier "bVar10") (= "=") (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" (( "(") (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar12" (! "!") (identifier "bVar12"))) () ")")) (== "==") (identifier "bVar10"))) (; ";")) (if_statement "if (bVar10) {\n                  param_1 = param_1 + 3;\n                }\n                else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n                  param_1 = param_1 + 3;\n                }" ({ "{") (expression_statement "param_1 = param_1 + 3;" (assignment_expression "param_1 = param_1 + 3" (identifier "param_1") (= "=") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (else_clause "else {\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }" (else "else") (compound_statement "{\n                  lVar6 = 4;\n                  pbVar7 = param_1;\n                  pbVar9 = &DAT_003904c8;\n                  do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar12 = false;\n                  bVar10 = (!bVar11 && !bVar10) == bVar11;\n                  if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                  param_1 = param_1 + 4;\n                }" ({ "{") (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" (identifier "lVar6") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" (identifier "pbVar7") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar9 = &DAT_003904c8;" (assignment_expression "pbVar9 = &DAT_003904c8" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_003904c8" (& "&") (identifier "DAT_003904c8"))) (; ";")) (do_statement "do {\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);" (do "do") (compound_statement "{\n                    if (lVar6 == 0) break;\n                    lVar6 = lVar6 + -1;\n                    bVar11 = *pbVar7 < *pbVar9;\n                    bVar10 = *pbVar7 == *pbVar9;\n                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  }" ({ "{") (if_statement "if (lVar6 == 0) break;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" (identifier "bVar10") (= "=") (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" (( "(") (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (!bVar10) {\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(!bVar10)" (( "(") (unary_expression "!bVar10" (! "!") (identifier "bVar10")) () ")")) (compound_statement "{\n                    lVar6 = 4;\n                    pbVar7 = param_1;\n                    pbVar9 = &DAT_003904cd;\n                    do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);\n                    bVar11 = false;\n                    bVar10 = (!bVar12 && !bVar10) == bVar12;\n                    if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" ({ "{") (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" (identifier "lVar6") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" (identifier "pbVar7") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar9 = &DAT_003904cd;" (assignment_expression "pbVar9 = &DAT_003904cd" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_003904cd" (& "&") (identifier "DAT_003904cd"))) (; ";")) (do_statement "do {\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    } while (bVar10);" (do "do") (compound_statement "{\n                      if (lVar6 == 0) break;\n                      lVar6 = lVar6 + -1;\n                      bVar12 = *pbVar7 < *pbVar9;\n                      bVar10 = *pbVar7 == *pbVar9;\n                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                    }" ({ "{") (if_statement "if (lVar6 == 0) break;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar7 < *pbVar9;" (assignment_expression "bVar12 = *pbVar7 < *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" (identifier "bVar10") (= "=") (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" (( "(") (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (!bVar10) {\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }" (if "if") (parenthesized_expression "(!bVar10)" (( "(") (unary_expression "!bVar10" (! "!") (identifier "bVar10")) () ")")) (compound_statement "{\n                      lVar6 = 4;\n                      pbVar7 = param_1;\n                      pbVar9 = &DAT_003904d2;\n                      do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);\n                      bVar12 = false;\n                      bVar10 = (!bVar11 && !bVar10) == bVar11;\n                      if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }" ({ "{") (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" (identifier "lVar6") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" (identifier "pbVar7") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar9 = &DAT_003904d2;" (assignment_expression "pbVar9 = &DAT_003904d2" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_003904d2" (& "&") (identifier "DAT_003904d2"))) (; ";")) (do_statement "do {\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      } while (bVar10);" (do "do") (compound_statement "{\n                        if (lVar6 == 0) break;\n                        lVar6 = lVar6 + -1;\n                        bVar11 = *pbVar7 < *pbVar9;\n                        bVar10 = *pbVar7 == *pbVar9;\n                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                      }" ({ "{") (if_statement "if (lVar6 == 0) break;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" (identifier "bVar10") (= "=") (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" (( "(") (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (!bVar10) {\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }" (if "if") (parenthesized_expression "(!bVar10)" (( "(") (unary_expression "!bVar10" (! "!") (identifier "bVar10")) () ")")) (compound_statement "{\n                        lVar6 = 4;\n                        pbVar7 = param_1;\n                        pbVar9 = &DAT_003904d7;\n                        do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);\n                        bVar11 = false;\n                        bVar10 = (!bVar12 && !bVar10) == bVar12;\n                        if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }\n                      }" ({ "{") (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" (identifier "lVar6") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" (identifier "pbVar7") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar9 = &DAT_003904d7;" (assignment_expression "pbVar9 = &DAT_003904d7" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_003904d7" (& "&") (identifier "DAT_003904d7"))) (; ";")) (do_statement "do {\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        } while (bVar10);" (do "do") (compound_statement "{\n                          if (lVar6 == 0) break;\n                          lVar6 = lVar6 + -1;\n                          bVar12 = *pbVar7 < *pbVar9;\n                          bVar10 = *pbVar7 == *pbVar9;\n                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                        }" ({ "{") (if_statement "if (lVar6 == 0) break;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar7 < *pbVar9;" (assignment_expression "bVar12 = *pbVar7 < *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" (identifier "bVar10") (= "=") (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" (( "(") (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (!bVar10) {\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }" (if "if") (parenthesized_expression "(!bVar10)" (( "(") (unary_expression "!bVar10" (! "!") (identifier "bVar10")) () ")")) (compound_statement "{\n                          lVar6 = 4;\n                          pbVar7 = param_1;\n                          pbVar9 = &DAT_003904dc;\n                          do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);\n                          bVar12 = false;\n                          bVar10 = (!bVar11 && !bVar10) == bVar11;\n                          if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }\n                        }" ({ "{") (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" (identifier "lVar6") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" (identifier "pbVar7") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar9 = &DAT_003904dc;" (assignment_expression "pbVar9 = &DAT_003904dc" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_003904dc" (& "&") (identifier "DAT_003904dc"))) (; ";")) (do_statement "do {\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          } while (bVar10);" (do "do") (compound_statement "{\n                            if (lVar6 == 0) break;\n                            lVar6 = lVar6 + -1;\n                            bVar11 = *pbVar7 < *pbVar9;\n                            bVar10 = *pbVar7 == *pbVar9;\n                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                          }" ({ "{") (if_statement "if (lVar6 == 0) break;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" (identifier "bVar10") (= "=") (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" (( "(") (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (!bVar10) {\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }" (if "if") (parenthesized_expression "(!bVar10)" (( "(") (unary_expression "!bVar10" (! "!") (identifier "bVar10")) () ")")) (compound_statement "{\n                            lVar6 = 4;\n                            pbVar7 = param_1;\n                            pbVar9 = &DAT_003904e1;\n                            do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);\n                            bVar11 = false;\n                            bVar10 = (!bVar12 && !bVar10) == bVar12;\n                            if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }\n                          }" ({ "{") (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" (identifier "lVar6") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" (identifier "pbVar7") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar9 = &DAT_003904e1;" (assignment_expression "pbVar9 = &DAT_003904e1" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_003904e1" (& "&") (identifier "DAT_003904e1"))) (; ";")) (do_statement "do {\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            } while (bVar10);" (do "do") (compound_statement "{\n                              if (lVar6 == 0) break;\n                              lVar6 = lVar6 + -1;\n                              bVar12 = *pbVar7 < *pbVar9;\n                              bVar10 = *pbVar7 == *pbVar9;\n                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                            }" ({ "{") (if_statement "if (lVar6 == 0) break;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar7 < *pbVar9;" (assignment_expression "bVar12 = *pbVar7 < *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" (identifier "bVar10") (= "=") (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" (( "(") (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (!bVar10) {\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }" (if "if") (parenthesized_expression "(!bVar10)" (( "(") (unary_expression "!bVar10" (! "!") (identifier "bVar10")) () ")")) (compound_statement "{\n                              lVar6 = 4;\n                              pbVar7 = param_1;\n                              pbVar9 = &DAT_003904e6;\n                              do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);\n                              if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }\n                            }" ({ "{") (expression_statement "lVar6 = 4;" (assignment_expression "lVar6 = 4" (identifier "lVar6") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" (identifier "pbVar7") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar9 = &DAT_003904e6;" (assignment_expression "pbVar9 = &DAT_003904e6" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_003904e6" (& "&") (identifier "DAT_003904e6"))) (; ";")) (do_statement "do {\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              } while (bVar10);" (do "do") (compound_statement "{\n                                if (lVar6 == 0) break;\n                                lVar6 = lVar6 + -1;\n                                bVar11 = *pbVar7 < *pbVar9;\n                                bVar10 = *pbVar7 == *pbVar9;\n                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                              }" ({ "{") (if_statement "if (lVar6 == 0) break;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar7 < *pbVar9;" (assignment_expression "bVar11 = *pbVar7 < *pbVar9" (identifier "bVar11") (= "=") (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar7 == *pbVar9;" (assignment_expression "bVar10 = *pbVar7 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (if_statement "if ((!bVar11 && !bVar10) != bVar11) {\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }" (if "if") (parenthesized_expression "((!bVar11 && !bVar10) != bVar11)" (( "(") (binary_expression "(!bVar11 && !bVar10) != bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" (( "(") (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (!= "!=") (identifier "bVar11")) () ")")) (compound_statement "{\n                                iVar8 = strncmp((char *)param_1,"$u20$",5);\n                                if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }\n                                param_1 = param_1 + 5;\n                                break;\n                              }" ({ "{") (expression_statement "iVar8 = strncmp((char *)param_1,"$u20$",5);" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u20$",5)" (identifier "iVar8") (= "=") (call_expression "strncmp((char *)param_1,"$u20$",5)" (identifier "strncmp") (argument_list "((char *)param_1,"$u20$",5)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (string_literal ""$u20$"" (" """) (string_content "$u20$") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (if_statement "if ((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {\n                                  return 0;\n                                }" (if "if") (parenthesized_expression "((((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0))))" (( "(") (binary_expression "(((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))\n                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))" (parenthesized_expression "(((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))" (( "(") (binary_expression "((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&\n                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))))" (parenthesized_expression "((((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0))))" (( "(") (binary_expression "(((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))" (parenthesized_expression "(((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0))" (( "(") (binary_expression "((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&\n                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)" (parenthesized_expression "((iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0))" (( "(") (binary_expression "(iVar8 != 0) &&\n                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)" (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)" (( "(") (comma_expression "iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u22$",5)" (identifier "iVar8") (= "=") (call_expression "strncmp((char *)param_1,"$u22$",5)" (identifier "strncmp") (argument_list "((char *)param_1,"$u22$",5)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (string_literal ""$u22$"" (" """) (string_content "$u22$") (" """)) (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)" (( "(") (comma_expression "iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u27$",5)" (identifier "iVar8") (= "=") (call_expression "strncmp((char *)param_1,"$u27$",5)" (identifier "strncmp") (argument_list "((char *)param_1,"$u27$",5)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (string_literal ""$u27$"" (" """) (string_content "$u27$") (" """)) (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))" (( "(") (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0))" (( "(") (comma_expression "iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u2b$",5)" (identifier "iVar8") (= "=") (call_expression "strncmp((char *)param_1,"$u2b$",5)" (identifier "strncmp") (argument_list "((char *)param_1,"$u2b$",5)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (string_literal ""$u2b$"" (" """) (string_content "$u2b$") (" """)) (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)" (( "(") (comma_expression "iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u3b$",5)" (identifier "iVar8") (= "=") (call_expression "strncmp((char *)param_1,"$u3b$",5)" (identifier "strncmp") (argument_list "((char *)param_1,"$u3b$",5)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (string_literal ""$u3b$"" (" """) (string_content "$u3b$") (" """)) (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))))" (( "(") (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))" (( "(") (comma_expression "iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u5b$",5)" (identifier "iVar8") (= "=") (call_expression "strncmp((char *)param_1,"$u5b$",5)" (identifier "strncmp") (argument_list "((char *)param_1,"$u5b$",5)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (string_literal ""$u5b$"" (" """) (string_content "$u5b$") (" """)) (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar8 != 0 &&\n                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))" (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)))" (( "(") (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))" (( "(") (comma_expression "iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u5d$",5)" (identifier "iVar8") (= "=") (call_expression "strncmp((char *)param_1,"$u5d$",5)" (identifier "strncmp") (argument_list "((char *)param_1,"$u5d$",5)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (string_literal ""$u5d$"" (" """) (string_content "$u5d$") (" """)) (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar8 != 0 &&\n                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0)" (( "(") (comma_expression "iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u7b$",5)" (identifier "iVar8") (= "=") (call_expression "strncmp((char *)param_1,"$u7b$",5)" (identifier "strncmp") (argument_list "((char *)param_1,"$u7b$",5)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (string_literal ""$u7b$"" (" """) (string_content "$u7b$") (" """)) (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0"))) () ")")))) () ")")) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))" (( "(") (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0))" (( "(") (comma_expression "iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u7d$",5)" (identifier "iVar8") (= "=") (call_expression "strncmp((char *)param_1,"$u7d$",5)" (identifier "strncmp") (argument_list "((char *)param_1,"$u7d$",5)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (string_literal ""$u7d$"" (" """) (string_content "$u7d$") (" """)) (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar8 != 0 &&\n                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)" (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)" (( "(") (comma_expression "iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0" (assignment_expression "iVar8 = strncmp((char *)param_1,"$u7e$",5)" (identifier "iVar8") (= "=") (call_expression "strncmp((char *)param_1,"$u7e$",5)" (identifier "strncmp") (argument_list "((char *)param_1,"$u7e$",5)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (string_literal ""$u7e$"" (" """) (string_content "$u7e$") (" """)) (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n                                  return 0;\n                                }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_1 = param_1 + 5;" (assignment_expression "param_1 = param_1 + 5" (identifier "param_1") (= "=") (binary_expression "param_1 + 5" (identifier "param_1") (+ "+") (number_literal "5"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "param_1 = param_1 + 4;" (assignment_expression "param_1 = param_1 + 4" (identifier "param_1") (= "=") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x25:" (case "case") (number_literal "0x25") (: ":")) (case_statement "case 0x26:" (case "case") (number_literal "0x26") (: ":")) (case_statement "case 0x27:" (case "case") (number_literal "0x27") (: ":")) (case_statement "case 0x28:" (case "case") (number_literal "0x28") (: ":")) (case_statement "case 0x29:" (case "case") (number_literal "0x29") (: ":")) (case_statement "case 0x2a:" (case "case") (number_literal "0x2a") (: ":")) (case_statement "case 0x2b:" (case "case") (number_literal "0x2b") (: ":")) (case_statement "case 0x2c:" (case "case") (number_literal "0x2c") (: ":")) (case_statement "case 0x2d:" (case "case") (number_literal "0x2d") (: ":")) (case_statement "case 0x2f:" (case "case") (number_literal "0x2f") (: ":")) (case_statement "case 0x3b:" (case "case") (number_literal "0x3b") (: ":")) (case_statement "case 0x3c:" (case "case") (number_literal "0x3c") (: ":")) (case_statement "case 0x3d:" (case "case") (number_literal "0x3d") (: ":")) (case_statement "case 0x3e:" (case "case") (number_literal "0x3e") (: ":")) (case_statement "case 0x3f:" (case "case") (number_literal "0x3f") (: ":")) (case_statement "case 0x40:" (case "case") (number_literal "0x40") (: ":")) (case_statement "case 0x5b:" (case "case") (number_literal "0x5b") (: ":")) (case_statement "case 0x5c:" (case "case") (number_literal "0x5c") (: ":")) (case_statement "case 0x5d:" (case "case") (number_literal "0x5d") (: ":")) (case_statement "case 0x5e:" (case "case") (number_literal "0x5e") (: ":")) (case_statement "case 0x60:\n                return 0;" (case "case") (number_literal "0x60") (: ":") (return_statement "return 0;" (return "return") (number_literal "0") (; ";"))) (case_statement "case 0x2e:\n                lVar6 = 3;\n                pbVar7 = param_1;\n                pbVar9 = (byte *)0x379f36;\n                do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);\n                if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }" (case "case") (number_literal "0x2e") (: ":") (expression_statement "lVar6 = 3;" (assignment_expression "lVar6 = 3" (identifier "lVar6") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" (identifier "pbVar7") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar9 = (byte *)0x379f36;" (assignment_expression "pbVar9 = (byte *)0x379f36" (identifier "pbVar9") (= "=") (cast_expression "(byte *)0x379f36" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x379f36"))) (; ";")) (do_statement "do {\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar12);" (do "do") (compound_statement "{\n                  if (lVar6 == 0) break;\n                  lVar6 = lVar6 + -1;\n                  bVar10 = *pbVar7 < *pbVar9;\n                  bVar12 = *pbVar7 == *pbVar9;\n                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                }" ({ "{") (if_statement "if (lVar6 == 0) break;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar6 = lVar6 + -1;" (assignment_expression "lVar6 = lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar7 < *pbVar9;" (assignment_expression "bVar10 = *pbVar7 < *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar7 < *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar12 = *pbVar7 == *pbVar9;" (assignment_expression "bVar12 = *pbVar7 == *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar7 == *pbVar9" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar7 + (ulong)bVar13 * -2" (identifier "pbVar7") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (; ";")) (if_statement "if ((!bVar10 && !bVar12) == bVar10) {\n                  return 0;\n                }" (if "if") (parenthesized_expression "((!bVar10 && !bVar12) == bVar10)" (( "(") (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" (( "(") (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar12" (! "!") (identifier "bVar12"))) () ")")) (== "==") (identifier "bVar10")) () ")")) (compound_statement "{\n                  return 0;\n                }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))) (case_statement "default:\n                param_1 = param_1 + 1;" (default "default") (: ":") (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";"))) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(param_1 < pbVar1)" (( "(") (binary_expression "param_1 < pbVar1" (identifier "param_1") (< "<") (identifier "pbVar1")) () ")")) (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

int function_1(char *var_1)

{
  type_1 *var_9;
  type_1 var_10;
  size_t var_3;
  char *var_11;
  char var_13;
  long var_4;
  type_1 *var_5;
  int var_12;
  char var_8;
  type_1 *var_6;
  bool var_7;
  bool var_15;
  bool var_16;
  type_1 bVar14;
  char seen [16];
  char var_14 [8];
  
  bVar14 = 0;
  var_11 = seen;
  if (var_1 != (char *)0x0) {
    var_3 = var_2(var_1);
    var_7 = var_3 < 0x13;
    var_16 = var_3 == 0x13;
    if (0x13 < var_3) {
      var_9 = (type_1 *)(var_1 + (var_3 - 0x13));
      var_4 = 3;
      var_5 = var_9;
      var_6 = &DAT_003904c0;
      do {
        if (var_4 == 0) break;
        var_4 = var_4 + -1;
        var_7 = *var_5 < *var_6;
        var_16 = *var_5 == *var_6;
        var_5 = var_5 + (type_2)bVar14 * -2 + 1;
        var_6 = var_6 + (type_2)bVar14 * -2 + 1;
      } while (var_16);
      var_8 = (!var_7 && !var_16) - var_7;
      if (var_8 == '\0') {
        var_5 = var_9 + 3;
        seen[0] = '\0';
        seen[1] = '\0';
        seen[2] = '\0';
        seen[3] = '\0';
        seen[4] = '\0';
        seen[5] = '\0';
        seen[6] = '\0';
        seen[7] = '\0';
        seen[8] = '\0';
        seen[9] = '\0';
        seen[10] = '\0';
        seen[0xb] = '\0';
        seen[0xc] = '\0';
        seen[0xd] = '\0';
        seen[0xe] = '\0';
        seen[0xf] = '\0';
        if (var_5 < var_9 + 0x13) {
          do {
            while( true ) {
              var_10 = *var_5;
              if ((type_1)(var_10 - 0x30) < 10) break;
              if (5 < (type_1)(var_10 + 0x9f)) {
                return 0;
              }
              var_5 = var_5 + 1;
              seen[(char)var_10 + -0x57] = '\x01';
              if (var_5 == (type_1 *)(var_1 + var_3)) goto LAB_002d87bf;
            }
            var_5 = var_5 + 1;
            seen[(char)var_10 + -0x30] = '\x01';
          } while (var_5 != (type_1 *)(var_1 + var_3));
LAB_002d87bf:
          var_13 = seen[0];
        }
        else {
          var_13 = '\0';
        }
        var_12 = 0;
        while( true ) {
          var_11 = var_11 + 1;
          var_12 = (var_12 + 1) - (uint)(var_13 == '\0');
          if (var_14 == var_11) break;
          var_13 = *var_11;
        }
        if (var_12 - 5U < 0xb) {
          if (var_1 < var_9) {
            do {
              var_10 = *var_1 - 0x24;
              if (0x56 < var_10) {
                return (int)var_8;
              }
              var_7 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[var_10];
              var_16 = (&switchD_002d8845::switchdataD_00390528)[var_10] == 0xffc6fad8;
              switch(*var_1) {
              case '$':
                var_4 = 3;
                var_5 = (type_1 *)var_1;
                var_6 = &DAT_003904c4;
                do {
                  if (var_4 == 0) break;
                  var_4 = var_4 + -1;
                  var_7 = *var_5 < *var_6;
                  var_16 = *var_5 == *var_6;
                  var_5 = var_5 + (type_2)bVar14 * -2 + 1;
                  var_6 = var_6 + (type_2)bVar14 * -2 + 1;
                } while (var_16);
                var_15 = false;
                var_7 = (!var_7 && !var_16) == var_7;
                if (var_7) {
                  var_1 = (char *)((type_1 *)var_1 + 3);
                }
                else {
                  var_4 = 4;
                  var_5 = (type_1 *)var_1;
                  var_6 = &DAT_003904c8;
                  do {
                    if (var_4 == 0) break;
                    var_4 = var_4 + -1;
                    var_15 = *var_5 < *var_6;
                    var_7 = *var_5 == *var_6;
                    var_5 = var_5 + (type_2)bVar14 * -2 + 1;
                    var_6 = var_6 + (type_2)bVar14 * -2 + 1;
                  } while (var_7);
                  var_16 = false;
                  var_7 = (!var_15 && !var_7) == var_15;
                  if (!var_7) {
                    var_4 = 4;
                    var_5 = (type_1 *)var_1;
                    var_6 = &DAT_003904cd;
                    do {
                      if (var_4 == 0) break;
                      var_4 = var_4 + -1;
                      var_16 = *var_5 < *var_6;
                      var_7 = *var_5 == *var_6;
                      var_5 = var_5 + (type_2)bVar14 * -2 + 1;
                      var_6 = var_6 + (type_2)bVar14 * -2 + 1;
                    } while (var_7);
                    var_15 = false;
                    var_7 = (!var_16 && !var_7) == var_16;
                    if (!var_7) {
                      var_4 = 4;
                      var_5 = (type_1 *)var_1;
                      var_6 = &DAT_003904d2;
                      do {
                        if (var_4 == 0) break;
                        var_4 = var_4 + -1;
                        var_15 = *var_5 < *var_6;
                        var_7 = *var_5 == *var_6;
                        var_5 = var_5 + (type_2)bVar14 * -2 + 1;
                        var_6 = var_6 + (type_2)bVar14 * -2 + 1;
                      } while (var_7);
                      var_16 = false;
                      var_7 = (!var_15 && !var_7) == var_15;
                      if (!var_7) {
                        var_4 = 4;
                        var_5 = (type_1 *)var_1;
                        var_6 = &DAT_003904d7;
                        do {
                          if (var_4 == 0) break;
                          var_4 = var_4 + -1;
                          var_16 = *var_5 < *var_6;
                          var_7 = *var_5 == *var_6;
                          var_5 = var_5 + (type_2)bVar14 * -2 + 1;
                          var_6 = var_6 + (type_2)bVar14 * -2 + 1;
                        } while (var_7);
                        var_15 = false;
                        var_7 = (!var_16 && !var_7) == var_16;
                        if (!var_7) {
                          var_4 = 4;
                          var_5 = (type_1 *)var_1;
                          var_6 = &DAT_003904dc;
                          do {
                            if (var_4 == 0) break;
                            var_4 = var_4 + -1;
                            var_15 = *var_5 < *var_6;
                            var_7 = *var_5 == *var_6;
                            var_5 = var_5 + (type_2)bVar14 * -2 + 1;
                            var_6 = var_6 + (type_2)bVar14 * -2 + 1;
                          } while (var_7);
                          var_16 = false;
                          var_7 = (!var_15 && !var_7) == var_15;
                          if (!var_7) {
                            var_4 = 4;
                            var_5 = (type_1 *)var_1;
                            var_6 = &DAT_003904e1;
                            do {
                              if (var_4 == 0) break;
                              var_4 = var_4 + -1;
                              var_16 = *var_5 < *var_6;
                              var_7 = *var_5 == *var_6;
                              var_5 = var_5 + (type_2)bVar14 * -2 + 1;
                              var_6 = var_6 + (type_2)bVar14 * -2 + 1;
                            } while (var_7);
                            var_15 = false;
                            var_7 = (!var_16 && !var_7) == var_16;
                            if (!var_7) {
                              var_4 = 4;
                              var_5 = (type_1 *)var_1;
                              var_6 = &DAT_003904e6;
                              do {
                                if (var_4 == 0) break;
                                var_4 = var_4 + -1;
                                var_15 = *var_5 < *var_6;
                                var_7 = *var_5 == *var_6;
                                var_5 = var_5 + (type_2)bVar14 * -2 + 1;
                                var_6 = var_6 + (type_2)bVar14 * -2 + 1;
                              } while (var_7);
                              if ((!var_15 && !var_7) != var_15) {
                                var_12 = var_17(var_1,"$u20$",5);
                                if ((((((var_12 != 0) && (var_12 = var_17(var_1,"$u22$",5), var_12 != 0)
                                       ) && (var_12 = var_17(var_1,"$u27$",5), var_12 != 0)) &&
                                     ((var_12 = var_17(var_1,"$u2b$",5), var_12 != 0 &&
                                      (var_12 = var_17(var_1,"$u3b$",5), var_12 != 0)))) &&
                                    ((var_12 = var_17(var_1,"$u5b$",5), var_12 != 0 &&
                                     ((var_12 = var_17(var_1,"$u5d$",5), var_12 != 0 &&
                                      (var_12 = var_17(var_1,"$u7b$",5), var_12 != 0)))))) &&
                                   ((var_12 = var_17(var_1,"$u7d$",5), var_12 != 0 &&
                                    (var_12 = var_17(var_1,"$u7e$",5), var_12 != 0)))) {
                                  return 0;
                                }
                                var_1 = (char *)((type_1 *)var_1 + 5);
                                break;
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                  var_1 = (char *)((type_1 *)var_1 + 4);
                }
                break;
              case '%':
              case '&':
              case '\'':
              case '(':
              case ')':
              case '*':
              case '+':
              case ',':
              case '-':
              case '/':
              case ';':
              case '<':
              case '=':
              case '>':
              case '?':
              case '@':
              case '[':
              case '\\':
              case ']':
              case '^':
              case '`':
                return (int)var_8;
              case '.':
                var_4 = 3;
                var_5 = (type_1 *)var_1;
                var_6 = (type_1 *)0x379f36;
                do {
                  if (var_4 == 0) break;
                  var_4 = var_4 + -1;
                  var_7 = *var_5 < *var_6;
                  var_16 = *var_5 == *var_6;
                  var_5 = var_5 + (type_2)bVar14 * -2 + 1;
                  var_6 = var_6 + (type_2)bVar14 * -2 + 1;
                } while (var_16);
                if ((!var_7 && !var_16) == var_7) {
                  return 0;
                }
              default:
                var_1 = (char *)((type_1 *)var_1 + 1);
              }
            } while (var_1 < var_9);
          }
          return 1;
        }
      }
    }
  }
  return 0;
}


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

undefined4 MASKED(byte *param_1)

{
  byte *pbVar1;
  byte bVar2;
  size_t sVar3;
  char *pcVar4;
  char cVar5;
  long lVar6;
  byte *pbVar7;
  int iVar8;
  byte *pbVar9;
  bool bVar10;
  bool bVar11;
  bool bVar12;
  byte bVar13;
  undefined1 local_48 [16];
  char local_38 [8];
  
  bVar13 = 0;
  pcVar4 = local_48;
  if (param_1 != (byte *)0x0) {
    sVar3 = strlen((char *)param_1);
    bVar10 = sVar3 < 0x13;
    bVar12 = sVar3 == 0x13;
    if (0x13 < sVar3) {
      pbVar1 = param_1 + (sVar3 - 0x13);
      lVar6 = 3;
      pbVar7 = pbVar1;
      pbVar9 = (byte *)0x3904c0;
      do {
        if (lVar6 == 0) break;
        lVar6 = lVar6 + -1;
        bVar10 = *pbVar7 < *pbVar9;
        bVar12 = *pbVar7 == *pbVar9;
        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
      } while (bVar12);
      if ((!bVar10 && !bVar12) == bVar10) {
        pbVar7 = pbVar1 + 3;
        local_48 = (undefined1  [16])0x0;
        if (pbVar7 < pbVar1 + 0x13) {
          do {
            while( true ) {
              bVar2 = *pbVar7;
              if ((byte)(bVar2 - 0x30) < 10) break;
              if (5 < (byte)(bVar2 + 0x9f)) {
                return 0;
              }
              pbVar7 = pbVar7 + 1;
              local_48[(char)bVar2 + -0x57] = 1;
              if (pbVar7 == param_1 + sVar3) goto LAB_002d87bf;
            }
            pbVar7 = pbVar7 + 1;
            local_48[(char)bVar2 + -0x30] = 1;
          } while (pbVar7 != param_1 + sVar3);
LAB_002d87bf:
        }
        else {
          local_48[0] = '\0';
        }
        iVar8 = 0;
        cVar5 = local_48[0];
        while( true ) {
          pcVar4 = pcVar4 + 1;
          iVar8 = (iVar8 + 1) - (uint)(cVar5 == '\0');
          if (local_38 == pcVar4) break;
          cVar5 = *pcVar4;
        }
        if (iVar8 - 5U < 0xb) {
          if (param_1 < pbVar1) {
            do {
              bVar2 = *param_1 - 0x24;
              if (0x56 < bVar2) {
                return 0;
              }
              bVar10 = 0xffc6fad7 < (&switchD_002d8845::switchdataD_00390528)[bVar2];
              bVar12 = (&switchD_002d8845::switchdataD_00390528)[bVar2] == 0xffc6fad8;
              switch(*param_1) {
              case 0x24:
                lVar6 = 3;
                pbVar7 = param_1;
                pbVar9 = &DAT_003904c4;
                do {
                  if (lVar6 == 0) break;
                  lVar6 = lVar6 + -1;
                  bVar10 = *pbVar7 < *pbVar9;
                  bVar12 = *pbVar7 == *pbVar9;
                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                } while (bVar12);
                bVar11 = false;
                bVar10 = (!bVar10 && !bVar12) == bVar10;
                if (bVar10) {
                  param_1 = param_1 + 3;
                }
                else {
                  lVar6 = 4;
                  pbVar7 = param_1;
                  pbVar9 = &DAT_003904c8;
                  do {
                    if (lVar6 == 0) break;
                    lVar6 = lVar6 + -1;
                    bVar11 = *pbVar7 < *pbVar9;
                    bVar10 = *pbVar7 == *pbVar9;
                    pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                  } while (bVar10);
                  bVar12 = false;
                  bVar10 = (!bVar11 && !bVar10) == bVar11;
                  if (!bVar10) {
                    lVar6 = 4;
                    pbVar7 = param_1;
                    pbVar9 = &DAT_003904cd;
                    do {
                      if (lVar6 == 0) break;
                      lVar6 = lVar6 + -1;
                      bVar12 = *pbVar7 < *pbVar9;
                      bVar10 = *pbVar7 == *pbVar9;
                      pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                      pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                    } while (bVar10);
                    bVar11 = false;
                    bVar10 = (!bVar12 && !bVar10) == bVar12;
                    if (!bVar10) {
                      lVar6 = 4;
                      pbVar7 = param_1;
                      pbVar9 = &DAT_003904d2;
                      do {
                        if (lVar6 == 0) break;
                        lVar6 = lVar6 + -1;
                        bVar11 = *pbVar7 < *pbVar9;
                        bVar10 = *pbVar7 == *pbVar9;
                        pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                      } while (bVar10);
                      bVar12 = false;
                      bVar10 = (!bVar11 && !bVar10) == bVar11;
                      if (!bVar10) {
                        lVar6 = 4;
                        pbVar7 = param_1;
                        pbVar9 = &DAT_003904d7;
                        do {
                          if (lVar6 == 0) break;
                          lVar6 = lVar6 + -1;
                          bVar12 = *pbVar7 < *pbVar9;
                          bVar10 = *pbVar7 == *pbVar9;
                          pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                        } while (bVar10);
                        bVar11 = false;
                        bVar10 = (!bVar12 && !bVar10) == bVar12;
                        if (!bVar10) {
                          lVar6 = 4;
                          pbVar7 = param_1;
                          pbVar9 = &DAT_003904dc;
                          do {
                            if (lVar6 == 0) break;
                            lVar6 = lVar6 + -1;
                            bVar11 = *pbVar7 < *pbVar9;
                            bVar10 = *pbVar7 == *pbVar9;
                            pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                          } while (bVar10);
                          bVar12 = false;
                          bVar10 = (!bVar11 && !bVar10) == bVar11;
                          if (!bVar10) {
                            lVar6 = 4;
                            pbVar7 = param_1;
                            pbVar9 = &DAT_003904e1;
                            do {
                              if (lVar6 == 0) break;
                              lVar6 = lVar6 + -1;
                              bVar12 = *pbVar7 < *pbVar9;
                              bVar10 = *pbVar7 == *pbVar9;
                              pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                            } while (bVar10);
                            bVar11 = false;
                            bVar10 = (!bVar12 && !bVar10) == bVar12;
                            if (!bVar10) {
                              lVar6 = 4;
                              pbVar7 = param_1;
                              pbVar9 = &DAT_003904e6;
                              do {
                                if (lVar6 == 0) break;
                                lVar6 = lVar6 + -1;
                                bVar11 = *pbVar7 < *pbVar9;
                                bVar10 = *pbVar7 == *pbVar9;
                                pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                              } while (bVar10);
                              if ((!bVar11 && !bVar10) != bVar11) {
                                iVar8 = strncmp((char *)param_1,"$u20$",5);
                                if ((((((iVar8 != 0) &&
                                       (iVar8 = strncmp((char *)param_1,"$u22$",5), iVar8 != 0)) &&
                                      (iVar8 = strncmp((char *)param_1,"$u27$",5), iVar8 != 0)) &&
                                     ((iVar8 = strncmp((char *)param_1,"$u2b$",5), iVar8 != 0 &&
                                      (iVar8 = strncmp((char *)param_1,"$u3b$",5), iVar8 != 0)))) &&
                                    ((iVar8 = strncmp((char *)param_1,"$u5b$",5), iVar8 != 0 &&
                                     ((iVar8 = strncmp((char *)param_1,"$u5d$",5), iVar8 != 0 &&
                                      (iVar8 = strncmp((char *)param_1,"$u7b$",5), iVar8 != 0))))))
                                   && ((iVar8 = strncmp((char *)param_1,"$u7d$",5), iVar8 != 0 &&
                                       (iVar8 = strncmp((char *)param_1,"$u7e$",5), iVar8 != 0)))) {
                                  return 0;
                                }
                                param_1 = param_1 + 5;
                                break;
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                  param_1 = param_1 + 4;
                }
                break;
              case 0x25:
              case 0x26:
              case 0x27:
              case 0x28:
              case 0x29:
              case 0x2a:
              case 0x2b:
              case 0x2c:
              case 0x2d:
              case 0x2f:
              case 0x3b:
              case 0x3c:
              case 0x3d:
              case 0x3e:
              case 0x3f:
              case 0x40:
              case 0x5b:
              case 0x5c:
              case 0x5d:
              case 0x5e:
              case 0x60:
                return 0;
              case 0x2e:
                lVar6 = 3;
                pbVar7 = param_1;
                pbVar9 = (byte *)0x379f36;
                do {
                  if (lVar6 == 0) break;
                  lVar6 = lVar6 + -1;
                  bVar10 = *pbVar7 < *pbVar9;
                  bVar12 = *pbVar7 == *pbVar9;
                  pbVar7 = pbVar7 + (ulong)bVar13 * -2 + 1;
                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                } while (bVar12);
                if ((!bVar10 && !bVar12) == bVar10) {
                  return 0;
                }
              default:
                param_1 = param_1 + 1;
              }
            } while (param_1 < pbVar1);
          }
          return 1;
        }
      }
    }
  }
  return 0;
}

