/* WARNING: Removing unreachable block (ram,0x0041521c) */

int base64encode(uint param_1,int param_2,int *param_3)

{
  undefined1 *puVar1;
  uint uVar2;
  int iVar3;
  
  puVar1 = (undefined1 *)malloc((param_2 << 2) / 3 + 5)   //possible issue identified - semgrep
  *param_3 = (int)puVar1;
  if ((param_1 == 0) || (param_2 == 0)) {
    *param_3 = 0;
    iVar3 = 0;
  }
  else {
    uVar2 = param_1;
    while (uVar2 + 3 <= param_1 + param_2) {
      FUN_00414fb0(uVar2,puVar1,3);
      uVar2 = uVar2 + 3;
      puVar1 = puVar1 + 4;
    }
    iVar3 = (param_1 + param_2) - uVar2;
    if (iVar3 == 1) {
      FUN_00414fb0(uVar2,puVar1,1);
      puVar1 = puVar1 + 4;
    }
    else if (iVar3 == 2) {
      FUN_00414fb0(uVar2,puVar1,2);
      puVar1 = puVar1 + 4;
    }
    iVar3 = *param_3;
    *puVar1 = 0;
    iVar3 = (int)puVar1 - iVar3;
  }
  return iVar3;
}