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;
}