/* 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;
}