53 lines
2 KiB
C
53 lines
2 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400d5870 FUN_1400d5870
|
|
* Pseudocode, not original source. */
|
|
|
|
ulonglong FUN_1400d5870(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_14006ba50(local_68,L"Unexpected state in RemoteToPacketSendMap!",in_R8,param_4);
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_68,(ThrowInfo *)&DAT_1401a93e8);
|
|
}
|
|
uVar5 = (**(code **)(*(longlong *)param_1[3] + 8))();
|
|
plVar4 = param_2;
|
|
FUN_1400d4950((short *)plVar1,uVar5,param_2,param_4);
|
|
if (param_2[1] == 0) {
|
|
FUN_14006ba50(local_68,L"Unexpected state in RemoteToPacketSendMap #2!",plVar4,param_4);
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_68,(ThrowInfo *)&DAT_1401a93e8);
|
|
}
|
|
bVar2 = FUN_1400d3700((longlong)plVar1,param_3);
|
|
if ((bVar2) || ((longlong *)plVar1[2] == (longlong *)0x0)) {
|
|
if ((longlong *)plVar1[2] != (longlong *)0x0) {
|
|
FUN_1400d34f0((longlong *)plVar1[2],plVar1,plVar4,param_4);
|
|
}
|
|
uVar5 = FUN_1400d3870(param_1,plVar1,plVar4,param_4);
|
|
}
|
|
else {
|
|
uVar5 = FUN_1400d34f0((longlong *)plVar1[2],plVar1,plVar4,param_4);
|
|
}
|
|
plVar1[0x2d] = (longlong)param_3;
|
|
uVar3 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
|
|
}
|
|
return uVar3;
|
|
}
|
|
|