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