server-re/decomp/DBCServer_Release_x64/full/functions/0x1401b7920.c

49 lines
1.8 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401b7920 FUN_1401b7920
* Pseudocode, not original source. */
undefined8 FUN_1401b7920(longlong *param_1,longlong param_2,undefined8 param_3)
{
longlong lVar1;
char cVar2;
undefined8 uVar3;
undefined1 local_68 [96];
lVar1 = *param_1;
if (lVar1 == 0) {
uVar3 = 0;
}
else {
if (*(int *)(lVar1 + 0x158) + *(int *)(lVar1 + 0x140) + *(int *)(lVar1 + 0x120) +
*(int *)(lVar1 + 0x108) + *(int *)(lVar1 + 0xe8) + *(int *)(lVar1 + 0xd0) +
*(int *)(lVar1 + 0xb0) + *(int *)(lVar1 + 0x98) + *(int *)(lVar1 + 0x78) +
*(int *)(lVar1 + 0x60) + *(int *)(lVar1 + 0x40) + *(int *)(lVar1 + 0x28) +
*(int *)(lVar1 + 0x1b0) == 0) {
FUN_14016d300(local_68,L"Unexpected state in RemoteToPacketSendMap!");
/* WARNING: Subroutine does not return */
_CxxThrowException(local_68,(ThrowInfo *)&DAT_1403417f8);
}
uVar3 = (**(code **)(*(longlong *)param_1[3] + 8))();
FUN_1401b6a80(lVar1,uVar3,param_2);
if (*(longlong *)(param_2 + 8) == 0) {
FUN_14016d300(local_68,L"Unexpected state in RemoteToPacketSendMap #2!");
/* WARNING: Subroutine does not return */
_CxxThrowException(local_68,(ThrowInfo *)&DAT_1403417f8);
}
cVar2 = FUN_1401b5850(lVar1,param_3);
if ((cVar2 == '\0') && (*(longlong *)(lVar1 + 0x10) != 0)) {
FUN_1401b5640(*(longlong *)(lVar1 + 0x10),lVar1);
}
else {
if (*(longlong *)(lVar1 + 0x10) != 0) {
FUN_1401b5640(*(longlong *)(lVar1 + 0x10),lVar1);
}
FUN_1401b59c0(param_1,lVar1);
}
*(undefined8 *)(lVar1 + 0x168) = param_3;
uVar3 = 1;
}
return uVar3;
}