undefined4 FUN_00402a2c(int param_1,uint param_2)

{
  void *__dest;
  undefined4 uVar1;
  
  uVar1 = 0;
  if (*(uint *)(param_1 + 4) < param_2) {
    __dest = calloc(param_2,4)   //possible issue identified - semgrep
    uVar1 = 0xffffffff;
    if (__dest != (void *)0x0) {
      if (*(void **)(param_1 + 8) != (void *)0x0) {
        memcpy(__dest,*(void **)(param_1 + 8),*(int *)(param_1 + 4) << 2)   //possible issue identified - semgrep
        free(*(void **)(param_1 + 8));
      }
      *(uint *)(param_1 + 4) = param_2;
      *(void **)(param_1 + 8) = __dest;
      uVar1 = 0;
    }
  }
  return uVar1;
}