undefined4 FUN_00402c08(void *param_1)
{
char cVar1;
int iVar2;
char *pcVar3;
int iVar4;
uint uVar5;
char *pcVar6;
char local_90 [127];
undefined1 local_11;
memset(local_90,0,0x80) //possible issue identified - semgrep
memset(local_90,0,0x80) //possible issue identified - semgrep
pcVar6 = g_uuid;
if ((g_uuid == (char *)0x0) &&
(iVar2 = xmldbc_get_wb(0,0,"/runtime/upnpdev/root:1/uuid",local_90,0x7f), pcVar6 = local_90,
iVar2 != 0)) {
return 0;
}
local_11 = 0;
memset(param_1,0,0x10) //possible issue identified - semgrep
uVar5 = 0;
do {
cVar1 = *pcVar6;
iVar2 = (int)cVar1;
if (iVar2 == 0) {
return 1;
}
iVar4 = iVar2 + -0x30;
if (((byte)(cVar1 - 0x31U) < 9) || (iVar4 = iVar2 + -0x57, (byte)(cVar1 + 0x9fU) < 6)) {
LAB_00402d10:
if (-1 < iVar4) {
if ((uVar5 & 1) == 0) {
pcVar3 = (char *)((int)param_1 + ((int)uVar5 >> 1));
*pcVar3 = (char)iVar4 * '\x10' + *pcVar3;
}
else {
pcVar3 = (char *)((int)param_1 + ((int)uVar5 >> 1));
*pcVar3 = (char)iVar4 + *pcVar3;
}
uVar5 = uVar5 + 1;
}
}
else if ((byte)(cVar1 + 0xbfU) < 6) {
iVar4 = iVar2 + -0x37;
goto LAB_00402d10;
}
pcVar6 = pcVar6 + 1;
if (0x1f < (int)uVar5) {
return 1;
}
} while( true );
}