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

41 lines
1.3 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400bc8a0 FUN_1400bc8a0
* Pseudocode, not original source. */
void FUN_1400bc8a0(int *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
uint uVar1;
undefined8 uVar2;
int *piVar3;
char *pcVar4;
undefined8 uVar5;
char local_res8 [32];
exception local_58 [80];
if ((char)param_1[8] != '\0') {
pcVar4 = local_res8;
uVar5 = 1;
piVar3 = param_1;
uVar2 = FUN_1400bc6c0(param_1,(undefined8 *)pcVar4,1,param_4);
if (((char)uVar2 == '\0') || (local_res8[0] != -2)) {
if (*(longlong *)(param_1 + 2) == 0) {
if (*(longlong *)(param_1 + 4) == 0) {
/* WARNING: Subroutine does not return */
FUN_1400d1900(piVar3,pcVar4,uVar5,param_4);
}
uVar1 = param_1[6];
}
else {
uVar1 = *(uint *)(*(longlong *)(param_1 + 2) + 0x18);
}
FUN_14006ba50(local_58,L"CMessage: Test splitter failure(reading=%d,length=%d)",
(ulonglong)(uint)((int)((*param_1 >> 0x1f & 7U) + *param_1) >> 3),
(ulonglong)uVar1);
/* WARNING: Subroutine does not return */
_CxxThrowException(local_58,(ThrowInfo *)&DAT_1401a93e8);
}
}
return;
}