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

{
  int iVar1;
  undefined4 uVar2;
  char *pcVar3;
  int iVar4;
  undefined4 uVar5;
  void *__ptr;
  undefined4 uVar6;
  undefined4 uVar7;
  int local_30 [3];
  
  uVar7 = param_1[2];
  uVar6 = param_1[1];
  iVar1 = sobj_new();
  if (iVar1 == 0) {
    client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","INTERNAL ERROR");
    client_printf(*param_1,"!! %s: File:[%s]\n","INTERNAL ERROR",param_1[2]);
    client_printf(*param_1,"memory allocation failed !");
    uVar2 = *param_1;
    pcVar3 = "INTERNAL ERROR";
LAB_0040b55c:
    iVar4 = -1;
    client_printf(uVar2,"\n!! %s <<<<<<<<<<<<<<<<<<<<<<<<<\n",pcVar3);
    __ptr = (void *)0x0;
  }
  else {
    FUN_00407458(param_1[1],iVar1,local_30);
    iVar4 = sobj_empty(iVar1);
    if (iVar4 != 0) {
      client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","SYNTAX ERROR");
      client_printf(*param_1,"!! %s: File:[%s]\n","SYNTAX ERROR",param_1[2]);
      uVar2 = *param_1;
      pcVar3 = "unable to read token !";
LAB_0040b53c:
      client_printf(uVar2,pcVar3);
      uVar2 = *param_1;
      pcVar3 = "SYNTAX ERROR";
      goto LAB_0040b55c;
    }
    if (local_30[0] == 0) {
      client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","SYNTAX ERROR");
      client_printf(*param_1,"!! %s: File:[%s]\n","SYNTAX ERROR",param_1[2]);
      uVar2 = *param_1;
      pcVar3 = "should see quotation mark here !";
      goto LAB_0040b53c;
    }
    __ptr = (void *)sobj_strdup(iVar1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n");
    sobj_free(iVar1);
    FUN_00407458(param_1[1],iVar1,local_30);
    iVar4 = sobj_empty(iVar1);
    if (iVar4 != 0) {
      client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","SYNTAX ERROR");
      client_printf(*param_1,"!! %s: File:[%s]\n","SYNTAX ERROR",param_1[2]);
      uVar2 = *param_1;
      pcVar3 = "unable to read token !";
LAB_0040b6d0:
      client_printf(uVar2,pcVar3);
      uVar2 = *param_1;
LAB_0040b79c:
      iVar4 = -1;
      client_printf(uVar2,"\n!! %s <<<<<<<<<<<<<<<<<<<<<<<<<\n","SYNTAX ERROR");
      param_1[1] = uVar6;
      goto LAB_0040b808;
    }
    if (local_30[0] != 0) {
      client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","SYNTAX ERROR");
      client_printf(*param_1,"!! %s: File:[%s]\n","SYNTAX ERROR",param_1[2]);
      uVar2 = *param_1;
      pcVar3 = "should not see quotation mark here !";
      goto LAB_0040b6d0;
    }
    iVar4 = sobj_strcmp(iVar1,&DAT_0042335c);
    if (iVar4 != 0) {
      client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","SYNTAX ERROR");
      client_printf(*param_1,"!! %s: File:[%s]\n","SYNTAX ERROR",param_1[2]);
      uVar5 = *param_1;
      uVar2 = sobj_get_string(iVar1);
      client_printf(uVar5,"got an invalid token [%s]",uVar2);
      uVar2 = *param_1;
      goto LAB_0040b79c;
    }
    iVar4 = xs_fopen(__ptr,&DAT_00422c14)   //possible issue identified - semgrep
    param_1[1] = iVar4;
    if (iVar4 != 0) {
      iVar4 = FUN_0040ad5c(param_1,param_2);
      xs_close(param_1[1]);
      param_1[1] = uVar6;
      goto LAB_0040b808;
    }
    iVar4 = (param_3 == 0) - 1;
  }
  param_1[1] = uVar6;
LAB_0040b808:
  param_1[2] = uVar7;
  if (iVar1 != 0) {
    sobj_del(iVar1);
  }
  if (__ptr != (void *)0x0) {
    free(__ptr);
  }
  return iVar4;
}