undefined4 ip6tc_set_counter(undefined4 param_1,int param_2,void *param_3,int param_4)

{
  int iVar1;
  int *piVar2;
  int iVar3;
  undefined4 *puVar4;
  
  iptc_fn = ip6tc_set_counter;
  iVar1 = (*(code *)0x2144)(param_1,param_4);
  if (iVar1 == 0) {
    piVar2 = __errno_location();
    iVar1 = 2;
  }
  else {
    iVar3 = 0;
    for (puVar4 = *(undefined4 **)(iVar1 + 0x54); iVar3 = iVar3 + 1,
        puVar4 != (undefined4 *)(iVar1 + 0x54); puVar4 = (undefined4 *)*puVar4) {
      if (iVar3 == param_2) {
        if (puVar4 != (undefined4 *)0x0) {
          puVar4[3] = 3;
          memcpy(puVar4 + 0x30,param_3,0x10)   //possible issue identified - semgrep
          *(undefined4 *)(param_4 + 4) = 1;
          return 1;
        }
        break;
      }
    }
    piVar2 = __errno_location();
    iVar1 = 7;
  }
  *piVar2 = iVar1;
  return 0;
}