void FUN_00402fc4(int param_1,char *param_2)
{
bool bVar1;
char cVar2;
char *pcVar3;
int iVar4;
undefined4 uVar5;
int iVar6;
iVar6 = 0;
while( true ) {
cVar2 = *param_2;
if (cVar2 == '\0') break;
if (cVar2 == '\n') {
bVar1 = iVar6 == 0;
iVar6 = 0;
if (bVar1) {
param_2 = param_2 + 1;
goto LAB_00403030;
}
}
else {
iVar6 = iVar6 + (uint)(cVar2 != '\r');
}
param_2 = param_2 + 1;
}
param_2 = (char *)0x0;
LAB_00403030:
iVar6 = sobj_new();
pcVar3 = strstr(param_2,"retc");
if (pcVar3 == (char *)0x0) {
pcVar3 = strstr(param_2,"salt");
if (pcVar3 != (char *)0x0) {
FUN_00401f58(param_2,&DAT_0040a3a8,iVar6);
pcVar3 = (char *)sobj_get_string(iVar6);
strcpy(&DAT_0041ad04,pcVar3) //possible issue identified - semgrep
FUN_00401f58(param_2,&DAT_0040a3b0,iVar6);
pcVar3 = (char *)sobj_get_string(iVar6);
strcpy(&DAT_0041ad54,pcVar3) //possible issue identified - semgrep
FUN_00401f58(param_2,&DAT_0040a3b8,iVar6);
pcVar3 = (char *)sobj_get_string(iVar6);
strcpy(&DAT_0041ada4,pcVar3) //possible issue identified - semgrep
uVar5 = FUN_004023dc(*(undefined4 *)(param_1 + 0x28),&DAT_0041ad04);
*(undefined4 *)(param_1 + 0x28) = uVar5;
sloop_register_timeout(0,0,FUN_00403674,param_1);
goto LAB_004032e4;
}
syslog(5,"Unknown return code from server \'%s\'.",*(undefined4 *)(*(int *)(param_1 + 0x18) + 8)
);
*(undefined4 *)(param_1 + 0x38) = 0;
*(int *)(param_1 + 0x40) = *(int *)(param_1 + 0x40) + 1;
*(undefined4 *)(param_1 + 0x3c) = 6;
}
else {
FUN_00401f58(param_2,&DAT_0040a380,iVar6);
iVar4 = sobj_get_char(iVar6,0);
if (iVar4 == 0x30) {
syslog(5,"Update \'%s\' (%s) to \'%s\' successfully.",*(undefined4 *)(param_1 + 0x2c),
*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(*(int *)(param_1 + 0x18) + 8));
*(undefined4 *)(param_1 + 0x40) = 0;
uVar5 = sloop_uptime();
*(undefined4 *)(param_1 + 0x30) = uVar5;
uVar5 = 1;
}
else {
iVar4 = sobj_get_char(iVar6,0);
if (iVar4 == 0x31) {
uVar5 = *(undefined4 *)(*(int *)(param_1 + 0x18) + 8);
pcVar3 = "Update failed from server \'%s\'";
}
else {
uVar5 = *(undefined4 *)(*(int *)(param_1 + 0x18) + 8);
pcVar3 = "Unknown return code from server \'%s\'.";
}
syslog(5,pcVar3,uVar5);
*(int *)(param_1 + 0x40) = *(int *)(param_1 + 0x40) + 1;
uVar5 = 6;
}
*(undefined4 *)(param_1 + 0x3c) = uVar5;
*(undefined4 *)(param_1 + 0x38) = 0;
if (*(int *)(param_1 + 0x3c) == 1) {
uVar5 = sloop_register_timeout(*(int *)(param_1 + 0x34) * 0x3c,0,FUN_00403674,param_1);
*(undefined4 *)(param_1 + 0x10) = uVar5;
goto LAB_004032e4;
}
}
FUN_004026ec(param_1);
LAB_004032e4:
if (iVar6 == 0) {
return;
}
sobj_del(iVar6);
return;
}