undefined4
RTMPGetKeyParameterWithOffset
          (char *param_1,char *param_2,ushort *param_3,size_t param_4,int param_5,char param_6)

{
  char cVar1;
  size_t sVar2;
  char *pcVar3;
  char *__s;
  int iVar4;
  char *pcVar5;
  char *local_30;
  char *local_2c;
  
  local_30 = (char *)0x0;
  local_2c = (char *)0x0;
  if ((*param_3 < 0x1000) && (os_alloc_mem(0,&local_30,0x800), local_30 != (char *)0x0)) {
    os_alloc_mem(0,&local_2c,0x800);
    if (local_2c == (char *)0x0) {
      os_free_mem(0,local_30);
    }
    else {
      iVar4 = param_5 + (uint)*param_3;
      if ((*param_3 != 0) || (iVar4 = RTMPFindSection(param_5), iVar4 != 0)) {
        pcVar5 = "\n";
        pcVar3 = local_30;
        do {
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + 1;
          *pcVar3 = cVar1;
          pcVar3 = pcVar3 + 1;
        } while (cVar1 != '\0');
        strcat(local_30,param_1)   //possible issue identified - semgrep
        strcat(local_30,"=")   //possible issue identified - semgrep
        iVar4 = rtstrstr(iVar4,local_30);
        if (iVar4 != 0) {
          sVar2 = strlen("\n");
          pcVar5 = (char *)(iVar4 + sVar2);
          pcVar3 = (char *)rtstrstr(pcVar5,&_LC4);
          if (pcVar3 == (char *)0x0) {
            sVar2 = strlen(pcVar5);
            pcVar3 = pcVar5 + sVar2;
          }
          if (pcVar5 <= pcVar3) {
            *param_3 = (short)pcVar3 - (short)param_5;
            memmove(local_2c,pcVar5,(int)pcVar3 - (int)pcVar5)   //possible issue identified - semgrep
            local_2c[(int)pcVar3 - (int)pcVar5] = '\0'   //possible issue identified - semgrep
            strlen(local_2c);
            pcVar3 = local_2c;
            pcVar5 = local_30;
            do {
              cVar1 = *pcVar3;
              pcVar3 = pcVar3 + 1;
              *pcVar5 = cVar1;
              pcVar5 = pcVar5 + 1;
            } while (cVar1 != '\0');
            pcVar5 = (char *)rtstrstr(local_30,&_LC5);
            pcVar3 = local_2c;
            if (pcVar5 != (char *)0x0) {
              do {
                pcVar5 = pcVar5 + 1;
                cVar1 = *pcVar5;
                *pcVar3 = cVar1;
                pcVar3 = pcVar3 + 1;
                __s = local_2c;
              } while (cVar1 != '\0');
              while (cVar1 = *__s, cVar1 != '\0') {
                if ((param_6 == '\0') || (cVar1 != ' ')) {
                  if (cVar1 != '\t') break;
                  __s = __s + 1;
                }
                else {
                  __s = __s + 1;
                }
              }
              sVar2 = strlen(__s);
              memset(param_2,0,param_4);
              if ((int)sVar2 <= (int)param_4) {
                param_4 = sVar2;
              }
              while (param_4 != 0) {
                cVar1 = *__s;
                *param_2 = cVar1;
                param_2 = param_2 + 1;
                if (cVar1 == '\0') break;
                __s = __s + 1;
                param_4 = param_4 - 1   //possible issue identified - semgrep
              }
              os_free_mem(0,local_30);
              os_free_mem(0,local_2c);
              return 1;
            }
          }
        }
      }
      os_free_mem(0,local_30);
      os_free_mem(0,local_2c);
    }
  }
  return 0;
}