/* WARNING: Removing unreachable block (ram,0x00407ea0) */
void FUN_00407e50(undefined4 param_1)
{
byte *pbVar1;
int iVar2;
byte bVar3;
size_t sVar4;
int iVar5;
undefined4 local_170;
undefined1 auStack_16c [88];
byte local_114 [260];
local_170 = 0x3039;
iVar2 = 0;
bVar3 = 0x39;
do {
iVar5 = iVar2 % 6;
pbVar1 = local_114 + iVar2;
iVar2 = iVar2 + 1;
*pbVar1 = *(byte *)((int)&DAT_00422ab4 + iVar5) ^ bVar3;
bVar3 = bVar3 + 1;
} while (iVar2 != 0x100);
sVar4 = 0;
if (PTR_s_rgbin_genuuid_004221b4 != (undefined *)0x0) {
sVar4 = strlen(PTR_s_rgbin_genuuid_004221b4);
}
MD5Init(auStack_16c);
if (sVar4 != 0) {
MD5Update(auStack_16c,PTR_s_rgbin_genuuid_004221b4,sVar4);
}
MD5Update(auStack_16c,&local_170,4);
MD5Update(auStack_16c,&DAT_00422ab4,6);
MD5Update(auStack_16c,local_114,0x100);
MD5Final(param_1,auStack_16c);
return;
}