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

40 lines
1.3 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400fe930 FUN_1400fe930
* Pseudocode, not original source. */
undefined8 FUN_1400fe930(longlong param_1)
{
int iVar1;
longlong lVar2;
undefined8 uVar3;
if ((param_1 == 0) || (lVar2 = *(longlong *)(param_1 + 0x28), lVar2 == 0)) {
return 0xfffffffe;
}
iVar1 = *(int *)(lVar2 + 8);
if ((((iVar1 != 0x2a) && (iVar1 != 0x45)) && (iVar1 != 0x49)) &&
(((iVar1 != 0x5b && (iVar1 != 0x67)) && ((iVar1 != 0x71 && (iVar1 != 0x29a)))))) {
return 0xfffffffe;
}
if (*(longlong *)(lVar2 + 0x10) != 0) {
(**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40));
}
if (*(longlong *)(*(longlong *)(param_1 + 0x28) + 0x68) != 0) {
(**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40));
}
if (*(longlong *)(*(longlong *)(param_1 + 0x28) + 0x60) != 0) {
(**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40));
}
if (*(longlong *)(*(longlong *)(param_1 + 0x28) + 0x50) != 0) {
(**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40));
}
(**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40),*(undefined8 *)(param_1 + 0x28));
uVar3 = 0;
*(undefined8 *)(param_1 + 0x28) = 0;
if (iVar1 == 0x71) {
uVar3 = 0xfffffffd;
}
return uVar3;
}