server-re/decomp/MessageServer_Release_x64/full/functions/0x1400bd1e0.c

34 lines
964 B
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400bd1e0 FUN_1400bd1e0
* Pseudocode, not original source. */
undefined8 FUN_1400bd1e0(uint *param_1,uint *param_2,undefined8 param_3,undefined8 param_4)
{
uint uVar1;
ulonglong uVar2;
uint uVar3;
byte *pbVar4;
uint uVar5;
undefined8 uVar6;
byte local_res8 [8];
*param_2 = 2;
uVar3 = (int)*param_1 >> 0x1f & 7;
uVar1 = *param_1 + uVar3;
uVar5 = uVar1 & 0xfffffff8;
*param_1 = uVar5;
if (0 < (int)((uVar1 & 7) - uVar3)) {
*param_1 = uVar5 + 8;
}
pbVar4 = local_res8;
uVar6 = 1;
uVar2 = FUN_1400bc6c0((int *)param_1,(undefined8 *)pbVar4,1,param_4);
if ((char)uVar2 != '\0') {
uVar6 = FUN_1400bc8a0((int *)param_1,pbVar4,uVar6,param_4);
*param_2 = (uint)local_res8[0];
return CONCAT71((int7)((ulonglong)uVar6 >> 8),1);
}
return uVar2 & 0xffffffffffffff00;
}