server-re/decomp/AgentManager_Release_x64/full/functions/0x14008e200.c
2026-10-15 09:58:24 -04:00

53 lines
2 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14008e200 FUN_14008e200
* Pseudocode, not original source. */
ulonglong FUN_14008e200(longlong *param_1,longlong *param_2,double param_3,undefined8 param_4)
{
longlong *plVar1;
bool bVar2;
ulonglong in_RAX;
ulonglong uVar3;
undefined8 in_R8;
longlong *plVar4;
undefined8 uVar5;
exception local_68 [96];
plVar1 = (longlong *)*param_1;
if (plVar1 == (longlong *)0x0) {
uVar3 = in_RAX & 0xffffffffffffff00;
}
else {
if ((int)plVar1[0x2b] + (int)plVar1[0x28] + (int)plVar1[0x24] + (int)plVar1[0x21] +
(int)plVar1[0x1d] + (int)plVar1[0x1a] + (int)plVar1[0x16] + (int)plVar1[0x13] +
(int)plVar1[0xf] + (int)plVar1[0xc] + (int)plVar1[8] + (int)plVar1[5] + (int)plVar1[0x36] ==
0) {
FUN_14003db10(local_68,L"Unexpected state in RemoteToPacketSendMap!",in_R8,param_4);
/* WARNING: Subroutine does not return */
_CxxThrowException(local_68,(ThrowInfo *)&DAT_14016c210);
}
uVar5 = (**(code **)(*(longlong *)param_1[3] + 8))();
plVar4 = param_2;
FUN_14008d300((short *)plVar1,uVar5,param_2,param_4);
if (param_2[1] == 0) {
FUN_14003db10(local_68,L"Unexpected state in RemoteToPacketSendMap #2!",plVar4,param_4);
/* WARNING: Subroutine does not return */
_CxxThrowException(local_68,(ThrowInfo *)&DAT_14016c210);
}
bVar2 = FUN_14008c0b0((longlong)plVar1,param_3);
if ((bVar2) || ((longlong *)plVar1[2] == (longlong *)0x0)) {
if ((longlong *)plVar1[2] != (longlong *)0x0) {
FUN_14008bf30((longlong *)plVar1[2],plVar1,plVar4,param_4);
}
uVar5 = FUN_14008c220(param_1,plVar1,plVar4,param_4);
}
else {
uVar5 = FUN_14008bf30((longlong *)plVar1[2],plVar1,plVar4,param_4);
}
plVar1[0x2d] = (longlong)param_3;
uVar3 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
}
return uVar3;
}