undefined * duidstr(uint *param_1)

{
  int iVar1;
  uint uVar2;
  char *pcVar3;
  uint uVar4;
  char *__s;
  
  if (*param_1 != 0) {
    __s = &DAT_0043a6e0;
    uVar4 = 0;
    do {
      pcVar3 = "";
      if (uVar4 != 0) {
        pcVar3 = ":";
      }
      uVar2 = (uint)*(byte *)(param_1[1] + uVar4);
      iVar1 = snprintf(__s,(int)&DAT_0043a8e4 - (int)__s,"%s%02x",pcVar3,uVar2)   //possible issue identified - semgrep
      uVar4 = uVar4 + 1;
      __s = __s + iVar1;
      if (iVar1 < 0) {
        return (undefined *)0x0;
      }
      if (*param_1 <= uVar4) goto LAB_0040b0b0;
    } while (uVar4 != 0x81);
    snprintf(__s,(int)&DAT_0043a8e4 - (int)__s,"%s",&DAT_00422b8c,uVar2)   //possible issue identified - semgrep
  }
LAB_0040b0b0:
  return &DAT_0043a6e0;
}