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

{
  int iVar1;
  int iVar2;
  int *__s;
  undefined4 *puVar3;
  undefined4 uVar4;
  char *pcVar5;
  undefined4 uVar6;
  int local_20 [2];
  
  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 !");
    client_printf(*param_1,"\n!! %s <<<<<<<<<<<<<<<<<<<<<<<<<\n","INTERNAL ERROR");
    return 0xffffffff;
  }
  FUN_00407458(param_1[1],iVar1,local_20);
  iVar2 = sobj_empty(iVar1);
  if (iVar2 == 0) {
    if (local_20[0] != 0) {
      client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","SYNTAX ERROR");
      client_printf(*param_1,"!! %s: File:[%s]\n","SYNTAX ERROR",param_1[2]);
      uVar4 = *param_1;
      pcVar5 = "should not see quotation mark here !";
      goto LAB_00407a88;
    }
    iVar2 = sobj_strcmp(iVar1,&DAT_0042335c);
    if (iVar2 == 0) {
      __s = (int *)malloc(0x24)   //possible issue identified - semgrep
      if (__s != (int *)0x0) {
        memset(__s,0,0x24)   //possible issue identified - semgrep
        puVar3 = *(undefined4 **)(param_2 + 4);
        *__s = param_2;
        *(int **)(param_2 + 4) = __s;
        *puVar3 = __s;
        __s[2] = param_3;
        __s[1] = (int)puVar3;
        uVar6 = 0;
        goto LAB_00407c4c;
      }
      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 !");
      uVar4 = *param_1;
      pcVar5 = "INTERNAL ERROR";
    }
    else {
      client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","SYNTAX ERROR");
      client_printf(*param_1,"!! %s: File:[%s]\n","SYNTAX ERROR",param_1[2]);
      uVar6 = *param_1;
      uVar4 = sobj_get_string(iVar1);
      client_printf(uVar6,"got an invalid token [%s]",uVar4);
      uVar4 = *param_1;
      pcVar5 = "SYNTAX ERROR";
    }
  }
  else {
    client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","SYNTAX ERROR");
    client_printf(*param_1,"!! %s: File:[%s]\n","SYNTAX ERROR",param_1[2]);
    uVar4 = *param_1;
    pcVar5 = "unable to read token !";
LAB_00407a88:
    client_printf(uVar4,pcVar5);
    uVar4 = *param_1;
    pcVar5 = "SYNTAX ERROR";
  }
  uVar6 = 0xffffffff;
  client_printf(uVar4,"\n!! %s <<<<<<<<<<<<<<<<<<<<<<<<<\n",pcVar5);
LAB_00407c4c:
  sobj_del(iVar1);
  return uVar6;
}