undefined4 FUN_00404bf4(FILE *param_1,char *param_2,undefined4 param_3,undefined4 param_4)

{
  FILE *__stream;
  undefined4 uVar1;
  int iVar2;
  code *pcVar3;
  undefined4 local_res8;
  undefined4 local_resc;
  char acStack_414 [1028];
  
  local_res8 = param_3;
  local_resc = param_4;
  vsnprintf(acStack_414,0x400,param_2,&local_res8)   //possible issue identified - semgrep
  __stream = popen(acStack_414,"r")   //possible issue identified - semgrep
  uVar1 = 0xffffffff;
  if (__stream != (FILE *)0x0) {
    while (iVar2 = fgetc(__stream), iVar2 != -1) {   //possible issue identified - semgrep
      sobj_add_char(param_1,iVar2);
    }
    pcVar3 = pclose;
    do {
      do {
        (*pcVar3)(__stream);
        uVar1 = sobj_get_length(param_1);
        iVar2 = sobj_get_char(param_1,uVar1);
        pcVar3 = sobj_remove_tail;
        __stream = param_1;
      } while (iVar2 == 10);
    } while (iVar2 == 0xd);
    uVar1 = 0;
  }
  return uVar1;
}