undefined4 cgibin_fill_http_content_len(char *param_1,size_t param_2)

{
  int iVar1;
  int iVar2;
  char *pcVar3;
  undefined4 uVar4;
  int iVar5;
  int *piVar6;
  int iVar7;
  int *piVar8;
  int *piVar9;
  char acStack_88 [32];
  int local_68 [16];
  
  memset(acStack_88,0,0x20)   //possible issue identified - semgrep
  uVar4 = 0xffffffff;
  if (*param_1 != '\0') {
    piVar8 = local_68;
    piVar9 = piVar8;
    do {
      *piVar9 = 0;
      piVar9 = piVar9 + 1;
    } while (piVar9 != (int *)&stack0xffffffd8);
    iVar1 = sobj_new();
    pcVar3 = param_1;
    piVar6 = piVar8;
    if (iVar1 == 0) {
LAB_00405258:
      uVar4 = 0xffffffff;
    }
    else {
      do {
        if ((pcVar3 == (char *)0x0) || ((int *)&stack0xffffffd8 == piVar6)) break;
        iVar7 = sobj_new();
        *piVar6 = iVar7;
        if (iVar7 == 0) goto LAB_00405258;
        if (*pcVar3 == '\0') {
          pcVar3 = (char *)0x0;
        }
        else {
          sobj_free(iVar7);
          while ((iVar5 = (int)*pcVar3, iVar5 != 0 && (pcVar3 = pcVar3 + 1, iVar5 != 10))) {
            if (iVar5 != 0xd) {
              sobj_add_char(iVar7,iVar5);
            }
          }
        }
        iVar7 = sobj_get_length(iVar7);
        piVar6 = piVar6 + 1;
      } while (iVar7 != 0);
      sobj_add_string(iVar1,pcVar3);
      memset(param_1,0,param_2);
      iVar7 = 0;
      piVar6 = piVar8;
      do {
        iVar5 = *piVar6;
        if ((iVar5 == 0) || (iVar2 = sobj_get_length(iVar5), iVar2 == 0)) break;
        iVar2 = sobj_strncasecmp(iVar5,"CONTENT-LENGTH",0xe);
        if (iVar2 == 0) {
          uVar4 = sobj_get_length(iVar1);
          sprintf(acStack_88,"CONTENT-LENGTH: %d \r\n",uVar4)   //possible issue identified - semgrep
          strcat(param_1,acStack_88)   //possible issue identified - semgrep
          iVar7 = iVar7 + 1;
        }
        else {
          pcVar3 = (char *)sobj_get_string(iVar5);
          strcat(param_1,pcVar3)   //possible issue identified - semgrep
          strcat(param_1,"\r\n")   //possible issue identified - semgrep
        }
        piVar6 = piVar6 + 1;
      } while ((int *)&stack0xffffffd8 != piVar6);
      if (iVar7 == 0) {
        uVar4 = sobj_get_length(iVar1);
        sprintf(acStack_88,"CONTENT-LENGTH: %d \r\n",uVar4)   //possible issue identified - semgrep
        strcat(param_1,acStack_88)   //possible issue identified - semgrep
      }
      strcat(param_1,"\r\n")   //possible issue identified - semgrep
      uVar4 = 0;
      pcVar3 = (char *)sobj_get_string(iVar1);
      strcat(param_1,pcVar3)   //possible issue identified - semgrep
    }
    do {
      iVar7 = *piVar8;
      piVar8 = piVar8 + 1;
      if (iVar7 != 0) {
        sobj_del(iVar7);
      }
    } while (piVar8 != piVar9);
    if (iVar1 != 0) {
      sobj_del(iVar1);
    }
  }
  return uVar4;
}