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