uint RtmpPCI_WriteSingleTxResource(int param_1,byte *param_2,char param_3,short *param_4)
{
byte bVar1;
byte bVar2;
ushort uVar3;
byte bVar4;
int iVar5;
int iVar6;
undefined4 *__s;
size_t __n;
int iVar7;
undefined4 uVar8;
uint uVar9;
bVar1 = *param_2;
iVar7 = (uint)bVar1 * 0x80c;
uVar9 = (uint)*(ushort *)(param_1 + iVar7 + 0x980);
iVar5 = param_1 + uVar9 * 0x20 + 0x10 + iVar7;
__n = (uint)param_2[0xb5] + (uint)param_2[0xb4] + 0x10 //possible issue identified - semgrep
iVar6 = param_1 + uVar9 * 0x20 + iVar7;
uVar8 = *(undefined4 *)(iVar6 + 0x19c);
memmove(*(void **)(iVar5 + 0x188),*(void **)(param_2 + 0xb0),__n) //possible issue identified - semgrep
__s = *(undefined4 **)(iVar6 + 0x184);
*(undefined4 *)(param_1 + uVar9 * 0x20 + iVar7 + 0x18c) = *(undefined4 *)(param_2 + 0x1c);
*(undefined4 *)(iVar5 + 0x180) = 0;
memset(__s,0,0x10) //possible issue identified - semgrep
*__s = uVar8;
*(byte *)((int)__s + 7) = *(byte *)((int)__s + 7) & 0xc0 | (byte)(__n * 0x40000 >> 0x1a);
*(char *)((int)__s + 6) = (char)__n;
uVar8 = RtmpDrvPciMapSingle(param_1,param_2,0,1,0xff00);
__s[2] = uVar8;
uVar3 = *(ushort *)(param_2 + 0x28);
bVar2 = *(byte *)((int)__s + 5);
bVar4 = (byte)(((uint)uVar3 << 0x12) >> 0x1a);
*(byte *)((int)__s + 5) = bVar2 & 0xc0 | bVar4;
*(char *)(__s + 1) = (char)uVar3;
*(byte *)((int)__s + 7) = *(byte *)((int)__s + 7) & 0xbf | (*(int *)(param_2 + 0x28) == 0) << 6;
*(byte *)((int)__s + 5) = bVar2 & 0x80 | bVar4 | (param_3 != '\0') << 6;
*(uint *)(param_1 + 0x16abc) = *(uint *)(param_1 + 0x16abc) & 0xffffffef;
bVar2 = *(byte *)((int)__s + 0xf);
*(byte *)((int)__s + 0xf) = bVar2 & 0xf8 | 4;
if (*(char *)(param_1 + 0x769e7) == '\x01') {
*(byte *)((int)__s + 0xf) = bVar2 & 0xf8 | 2;
}
*(byte *)((int)__s + 7) = *(byte *)((int)__s + 7) & 0x7f;
*(uint *)((uint)bVar1 * 0x80c + param_1 + 0x980) = uVar9 + 1 & 0x3f;
*param_4 = *param_4 + -1;
return uVar9;
}