int FUN_00418998(int param_1)

{
  undefined *__s;
  undefined *puVar1;
  undefined *__s_00;
  undefined *__s_01;
  undefined *__s_02;
  size_t sVar2;
  int iVar3;
  char *__s1;
  
  __s_02 = PTR_DAT_004303d8;
  __s_01 = PTR_s_<_xml__004303d4;
  __s_00 = PTR_DAT_004303d0;
  puVar1 = PTR_s__>_004303cc;
  __s = PTR_s_<_xml_004303c0;
  do {
    __s1 = *(char **)(param_1 + 4);
    sVar2 = strlen(__s_00);
    iVar3 = strncasecmp(__s1,__s_00,sVar2)   //possible issue identified - semgrep
    if (iVar3 == 0) {
      iVar3 = FUN_004188ac(param_1 + 4);
    }
    else {
      sVar2 = strlen(__s);
      iVar3 = strncasecmp(__s1,__s,sVar2)   //possible issue identified - semgrep
      if (iVar3 == 0) {
LAB_00418a8c:
        FUN_004181e0(param_1);
        return 0xc;
      }
      sVar2 = strlen(__s_01);
      iVar3 = strncasecmp(__s1,__s_01,sVar2)   //possible issue identified - semgrep
      if (iVar3 == 0) goto LAB_00418a8c;
      sVar2 = strlen(__s_02);
      iVar3 = strncasecmp(__s1,__s_02,sVar2)   //possible issue identified - semgrep
      if (iVar3 != 0) {
        FUN_004181e0(param_1);
        return 0;
      }
      iVar3 = FUN_0041879c(param_1 + 4,puVar1);
    }
    FUN_004181e0(param_1);
    if (iVar3 != 0) {
      return iVar3;
    }
  } while( true );
}