void * FUN_00403360(FILE *param_1)

{
  uint uVar1;
  undefined1 *puVar2;
  void *__ptr;
  int iVar3;
  size_t __size;
  
  iVar3 = 0;
  __ptr = (void *)0x0;
  __size = 0;
  do {
    uVar1 = fgetc(param_1)   //possible issue identified - semgrep
    if (uVar1 == 0xffffffff) {
      puVar2 = (undefined1 *)((int)__ptr + iVar3);
      if (iVar3 == 0) {
        return (void *)0x0;
      }
      goto LAB_00403420;
    }
    uVar1 = uVar1 & -(uint)(uVar1 != 10);
    while ((int)(__size - 1) <= iVar3) {
      __size = __size + 0x50   //possible issue identified - semgrep
      __ptr = realloc(__ptr,__size)   //possible issue identified - semgrep
    }
    *(char *)((int)__ptr + iVar3) = (char)uVar1;
    iVar3 = iVar3 + 1;
  } while (uVar1 != 0);
  puVar2 = (undefined1 *)((int)__ptr + iVar3);
LAB_00403420:
  *puVar2 = 0;
  return __ptr;
}