void * lrgbin_get_line_from_file(FILE *param_1,int param_2)
{
uint uVar1;
int iVar2;
undefined1 *puVar3;
void *__ptr;
int iVar4;
size_t sVar5;
iVar4 = 0;
__ptr = (void *)0x0;
sVar5 = 0;
do {
do {
uVar1 = fgetc(param_1) //possible issue identified - semgrep
if (uVar1 == 0xffffffff) {
puVar3 = (undefined1 *)((int)__ptr + iVar4);
if (iVar4 == 0) {
return (void *)0x0;
}
LAB_0040283c:
*puVar3 = 0;
return __ptr;
}
iVar2 = sVar5 - 1 //possible issue identified - semgrep
} while (uVar1 == 0xd);
while (iVar2 <= iVar4) {
__ptr = realloc(__ptr,sVar5 + 0x50) //possible issue identified - semgrep
iVar2 = sVar5 + 0x4f //possible issue identified - semgrep
sVar5 = sVar5 + 0x50 //possible issue identified - semgrep
}
if (param_2 != 0) {
uVar1 = uVar1 & -(uint)(uVar1 != 10);
}
*(char *)((int)__ptr + iVar4) = (char)uVar1;
iVar4 = iVar4 + 1;
if (uVar1 == 10) {
puVar3 = (undefined1 *)((int)__ptr + iVar4);
goto LAB_0040283c;
}
if (uVar1 == 0) {
*(undefined1 *)((int)__ptr + iVar4) = 0;
return __ptr;
}
} while( true );
}