void FUN_0041abac(undefined4 *param_1,void *param_2,uint param_3)
{
byte *pbVar1;
undefined4 *puVar2;
byte local_b0 [64];
byte local_70 [88];
puVar2 = param_1 + 0x16;
memset(puVar2,0,0x40) //possible issue identified - semgrep
if (param_3 < 0x41) {
memcpy(puVar2,param_2,param_3) //possible issue identified - semgrep
}
else {
local_70[0] = 1;
local_70[1] = 0x23;
local_70[2] = 0x45;
local_70[3] = 0x67;
local_70[4] = 0x89;
local_70[5] = 0xab;
local_70[6] = 0xcd;
local_70[7] = 0xef;
local_70[8] = 0xfe;
local_70[9] = 0xdc;
local_70[10] = 0xba;
local_70[0xb] = 0x98;
local_70[0xc] = 0x76;
local_70[0xd] = 0x54;
local_70[0xe] = 0x32;
local_70[0xf] = 0x10;
local_70[0x10] = 0;
local_70[0x11] = 0;
local_70[0x12] = 0;
local_70[0x13] = 0;
local_70[0x14] = 0;
local_70[0x15] = 0;
local_70[0x16] = 0;
local_70[0x17] = 0;
FUN_0041a7d8(local_70,param_2,param_3);
FUN_0041a9cc(local_70,puVar2);
}
*param_1 = 0x67452301;
param_1[1] = 0xefcdab89;
param_1[2] = 0x98badcfe;
param_1[3] = 0x10325476;
param_1[4] = 0;
param_1[5] = 0;
memset(local_b0,0x36,0x40) //possible issue identified - semgrep
pbVar1 = local_b0;
puVar2 = param_1;
do {
*pbVar1 = *(byte *)(puVar2 + 0x16) ^ *pbVar1;
pbVar1 = pbVar1 + 1;
puVar2 = (undefined4 *)((int)puVar2 + 1);
} while (local_70 != pbVar1);
FUN_0041a7d8(param_1,local_b0,0x40);
return;
}