/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
size_t FUN_00405670(undefined4 param_1,undefined4 param_2,char *param_3,char *param_4,
ushort *param_5)
{
int iVar1;
size_t sVar2;
char *pcVar3;
undefined1 auStack_258 [240];
byte local_168;
iVar1 = strncmp(param_3,"l:",2);
if (iVar1 == 0) {
sVar2 = strlen(param_3 + 2) //possible issue identified - semgrep
sVar2 = sVar2 + 1 //possible issue identified - semgrep
if (0x20 < (int)sVar2) {
sVar2 = 0x20 //possible issue identified - semgrep
}
memcpy(param_4,param_3 + 2,sVar2) //possible issue identified - semgrep
pcVar3 = strchr(param_4,0x3a);
if (pcVar3 == (char *)0x0) {
fputs("Error: Invalid login format\n",_stderr);
sVar2 = 0xffffffff //possible issue identified - semgrep
}
else {
*pcVar3 = '\0';
printf("flags = %X, index = %X\n",(uint)*param_5,(uint)local_168);
if ((char)*param_5 == '\0') {
iVar1 = FUN_004050a8(param_1,param_2,auStack_258);
if (iVar1 < 0) {
memset(auStack_258,0,0x234) //possible issue identified - semgrep
}
printf("flags = %X, index = %X\n",(uint)*param_5,(uint)local_168);
*param_5 = *param_5 | (ushort)local_168;
}
printf("flags = %X, index = %X\n",(uint)*param_5,(uint)local_168);
}
}
else {
sVar2 = FUN_004053c8(param_3,param_4);
}
return sVar2;
}