undefined4 FUN_00407458(int param_1,int param_2,int *param_3)

{
  bool bVar1;
  bool bVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  code *pcVar6;
  
  while( true ) {
    sobj_xstream_eatwhite(param_1);
    iVar3 = xs_getc(param_1)   //possible issue identified - semgrep
    if (0x3b < iVar3) break;
    if (0x39 < iVar3) goto LAB_00407828;
    if (iVar3 < 0x2b) {
      if ((0x27 < iVar3) || (iVar3 == 0x23)) goto LAB_00407828;
      if (0x23 < iVar3) {
        iVar5 = 0x26;
        if (iVar3 != 0x25) goto LAB_004075b8;
        goto LAB_00407828;
      }
      if (iVar3 == -1) {
        return 0xffffffff;
      }
      if (iVar3 == 0x21) goto LAB_004077c4;
      goto LAB_00407838;
    }
    if (iVar3 == 0x2d) {
LAB_00407768:
      sobj_add_char(param_2,iVar3);
      iVar4 = xs_getc(param_1)   //possible issue identified - semgrep
      if ((iVar4 != 0x3d) && (iVar5 = iVar4, iVar4 != iVar3)) goto LAB_00407810;
      pcVar6 = sobj_add_char;
      goto LAB_00407814;
    }
    if (iVar3 < 0x2e) {
      iVar5 = 0x2c;
      if (iVar3 == 0x2b) goto LAB_00407768;
      goto LAB_00407608;
    }
    if (iVar3 == 0x2e) goto LAB_00407828;
    if (iVar3 != 0x2f) goto LAB_00407838;
    iVar3 = xs_getc(param_1)   //possible issue identified - semgrep
    if (iVar3 == 0x2a) {
      bVar1 = false;
      do {
        iVar3 = xs_getc(param_1)   //possible issue identified - semgrep
        if (iVar3 == -1) {
          return 0xffffffff;
        }
        bVar2 = !bVar1;
        bVar1 = iVar3 == 0x2a;
      } while ((bVar2) || (iVar3 != 0x2f));
    }
    else {
      if (iVar3 != 0x2f) {
        if (iVar3 == -1) {
          return 0xffffffff;
        }
        xs_ungetc(iVar3,param_1)   //possible issue identified - semgrep
        pcVar6 = sobj_add_char;
        iVar4 = 0x2f;
        goto LAB_00407814;
      }
      do {
        iVar3 = xs_getc(param_1)   //possible issue identified - semgrep
        if (iVar3 == -1) {
          return 0xffffffff;
        }
      } while ((iVar3 != 10) && (iVar3 != 0xd));
    }
  }
  if (iVar3 != 0x5b) {
    if (iVar3 < 0x5c) {
      if (iVar3 == 0x3e) {
LAB_004077c4:
        sobj_add_char(param_2,iVar3);
        iVar5 = xs_getc(param_1)   //possible issue identified - semgrep
        if (iVar5 == 0x3d) {
          pcVar6 = sobj_add_char;
          iVar4 = 0x3d;
          goto LAB_00407814;
        }
      }
      else if (iVar3 < 0x3f) {
        iVar5 = 0x3d;
        if (iVar3 == 0x3c) goto LAB_004077c4;
LAB_004075b8:
        if (iVar3 != iVar5) goto LAB_00407838;
LAB_004076e0:
        sobj_add_char(param_2,iVar3);
        iVar5 = xs_getc(param_1)   //possible issue identified - semgrep
        if (iVar3 == iVar5) goto LAB_00407828;
      }
      else {
        iVar5 = 0x40;
        if (iVar3 != 0x3f) goto LAB_00407608;
        sobj_add_char(param_2,0x3f);
        iVar5 = xs_getc(param_1)   //possible issue identified - semgrep
        iVar4 = 0x3e;
        if (iVar5 == 0x3e) {
          pcVar6 = sobj_add_char;
          goto LAB_00407814;
        }
      }
LAB_00407810:
      param_2 = iVar5;
      pcVar6 = xs_ungetc;
      iVar4 = param_1;
      goto LAB_00407814;
    }
    if (iVar3 != 0x7b) {
      if (iVar3 < 0x7c) {
        if (1 < iVar3 - 0x5dU) goto LAB_00407838;
      }
      else {
        iVar5 = 0x7d;
        if (iVar3 == 0x7c) goto LAB_004076e0;
LAB_00407608:
        if (iVar3 != iVar5) {
LAB_00407838:
          xs_ungetc(iVar3,param_1)   //possible issue identified - semgrep
          iVar3 = sobj_xstream_read(param_1,param_2,"/+-=&|?*%^<>.,(){}[]:;!@#",param_3)   //possible issue identified - semgrep
          if ((*param_3 != 0) && (*param_3 == iVar3)) {
            return 0;
          }
          if (iVar3 == 0) {
            return 0xffffffff;
          }
          if (iVar3 < 1) {
            return 0;
          }
          xs_ungetc(iVar3,param_1)   //possible issue identified - semgrep
          return 0;
        }
      }
    }
  }
LAB_00407828:
  pcVar6 = sobj_add_char;
  iVar4 = iVar3;
LAB_00407814:
  (*pcVar6)(param_2,iVar4);
  *param_3 = 0;
  return 0;
}