void RtmpDrvAllMacPrint(undefined4 param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)

{
  char *pcVar1;
  uint uVar2;
  size_t sVar3;
  code *pcVar4;
  int unaff_gp;
  char *local_38 [2];
  undefined4 local_30;
  
  os_alloc_mem(0,local_38,0x400);
  if (local_38[0] != (char *)0x0) {
    local_30 = *(undefined4 *)(unaff_gp + 0x18);
    *(undefined4 *)(unaff_gp + 0x18) = 0;
    uVar2 = filp_open("MacDump.txt",0x101,0)   //possible issue identified - semgrep
    if (uVar2 < 0xfffff001) {
      if ((*(int *)(uVar2 + 0x10) != 0) && (*(int *)(*(int *)(uVar2 + 0x10) + 0xc) != 0)) {
        *(undefined4 *)(uVar2 + 0x20) = 0;
        *(undefined4 *)(uVar2 + 0x24) = 0;
        for (; param_3 <= param_4; param_3 = param_3 + param_5) {
          sprintf(local_38[0],"%08lx = %08X\n")   //possible issue identified - semgrep
          pcVar1 = local_38[0];
          pcVar4 = *(code **)(*(int *)(uVar2 + 0x10) + 0xc);
          sVar3 = strlen(local_38[0])   //possible issue identified - semgrep
          (*pcVar4)(uVar2,pcVar1,sVar3,uVar2 + 0x20);
          printk(&_LC40,local_38[0])   //possible issue identified - semgrep
        }
        sprintf(local_38[0],"\nDump all MAC values to %s\n")   //possible issue identified - semgrep
      }
      filp_close(uVar2,0);
    }
    else if (2 < RTDebugLevel) {
      printk("-->2) %s: Error %ld opening %s\n","RtmpDrvAllMacPrint",-uVar2,"MacDump.txt");
    }
    *(undefined4 *)(unaff_gp + 0x18) = local_30;
    os_free_mem(0,local_38[0]);
  }
  return;
}