undefined4 add_simple_option(undefined4 param_1,char param_2,undefined4 param_3)
{
undefined4 uVar1;
char *pcVar2;
char cVar3;
size_t __n;
undefined4 local_18;
char local_14;
undefined1 local_13;
undefined1 auStack_12 [10];
if (DAT_0041b675 != '\0') {
pcVar2 = &DAT_0041b68b;
__n = 0;
cVar3 = DAT_0041b675;
do {
if (cVar3 == param_2) {
__n = (size_t)(char)option_lengths[((byte)pcVar2[-0x17] & 0xf) * 4] //possible issue identified - semgrep
}
cVar3 = *pcVar2;
pcVar2 = pcVar2 + 0x16;
} while (cVar3 != '\0');
if (__n != 0) {
if (__n == 2) {
local_18 = CONCAT22(local_18._2_2_,(short)param_3);
uVar1 = local_18;
}
else {
uVar1 = param_3;
if ((__n != 4) && (uVar1 = local_18, __n == 1)) {
local_18 = CONCAT31(local_18._1_3_,(char)param_3);
uVar1 = local_18;
}
}
local_18 = uVar1;
local_13 = (undefined1)__n;
local_14 = param_2;
memcpy(auStack_12,&local_18,__n) //possible issue identified - semgrep
uVar1 = add_option_string(param_1,&local_14);
return uVar1;
}
}
return 0;
}