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

54 lines
1.3 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400a0dc0 FUN_1400a0dc0
* Pseudocode, not original source. */
undefined8 FUN_1400a0dc0(longlong param_1,undefined1 *param_2)
{
longlong lVar1;
int *piVar2;
undefined8 uVar3;
undefined1 uVar4;
piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))();
FUN_14006b350(piVar2);
if ((*(longlong **)(param_1 + 0x1500) == (longlong *)0x0) ||
(lVar1 = **(longlong **)(param_1 + 0x1500), lVar1 == 0)) {
uVar4 = 0;
}
else {
uVar4 = *(undefined1 *)(lVar1 + 0x80);
}
*param_2 = uVar4;
if ((*(longlong **)(param_1 + 0x560) == (longlong *)0x0) ||
(lVar1 = **(longlong **)(param_1 + 0x560), lVar1 == 0)) goto switchD_1400a0e59_default;
switch(*(undefined4 *)(lVar1 + 0x100)) {
case 0:
FUN_14006b3e0((longlong)piVar2);
uVar3 = 1;
break;
case 1:
FUN_14006b3e0((longlong)piVar2);
uVar3 = 1;
break;
case 2:
FUN_14006b3e0((longlong)piVar2);
uVar3 = 2;
break;
case 3:
FUN_14006b3e0((longlong)piVar2);
uVar3 = 2;
break;
case 4:
FUN_14006b3e0((longlong)piVar2);
uVar3 = 3;
break;
case 5:
default:
switchD_1400a0e59_default:
FUN_14006b3e0((longlong)piVar2);
uVar3 = 0;
}
return uVar3;
}