72 lines
1.9 KiB
C
72 lines
1.9 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x14005ff50 FUN_14005ff50
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_14005ff50(longlong param_1,undefined4 *param_2,byte param_3)
|
|
|
|
{
|
|
longlong *plVar1;
|
|
undefined8 *puVar2;
|
|
ulonglong *puVar3;
|
|
ulonglong *puVar4;
|
|
ulonglong *local_b0;
|
|
ulonglong *local_a8;
|
|
undefined8 local_a0;
|
|
ulonglong *local_90;
|
|
ulonglong *local_88;
|
|
undefined8 local_80;
|
|
byte local_70 [8];
|
|
ulonglong *local_68;
|
|
ulonglong *local_60;
|
|
undefined8 local_58;
|
|
undefined8 local_48;
|
|
longlong local_40 [3];
|
|
longlong local_28 [4];
|
|
|
|
local_48 = 0xfffffffffffffffe;
|
|
plVar1 = (longlong *)(param_1 + 0x1a8);
|
|
if (*(longlong *)(param_1 + 0x1c8) != 0) {
|
|
for (puVar2 = *(undefined8 **)
|
|
(*plVar1 + ((ulonglong)param_3 % *(ulonglong *)(param_1 + 0x1b0)) * 8);
|
|
puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {
|
|
if (param_3 == *(byte *)(puVar2 + 1)) {
|
|
if (puVar2 != (undefined8 *)0x0) {
|
|
FUN_140060ce0(puVar2 + 2,param_2);
|
|
return;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
local_90 = (ulonglong *)0x0;
|
|
local_88 = (ulonglong *)0x0;
|
|
local_80 = 0;
|
|
FUN_140060ce0((ulonglong *)&local_90,param_2);
|
|
FUN_140061c40(&local_b0,(longlong *)&local_90);
|
|
puVar4 = local_a8;
|
|
puVar3 = local_b0;
|
|
local_68 = local_b0;
|
|
local_60 = local_a8;
|
|
local_58 = local_a0;
|
|
local_b0 = (ulonglong *)0x0;
|
|
local_a8 = (ulonglong *)0x0;
|
|
local_a0 = 0;
|
|
local_70[0] = param_3;
|
|
if (*(longlong *)(param_1 + 0x1c8) == 0) {
|
|
FUN_140061960(plVar1,local_40,local_70);
|
|
}
|
|
else {
|
|
FUN_140061840(plVar1,local_28,local_70,local_70);
|
|
}
|
|
if (puVar3 != (ulonglong *)0x0) {
|
|
FUN_140061ab0(puVar3,puVar4);
|
|
operator_delete(puVar3);
|
|
}
|
|
puVar3 = local_90;
|
|
if (local_90 != (ulonglong *)0x0) {
|
|
FUN_140061ab0(local_90,local_88);
|
|
operator_delete(puVar3);
|
|
}
|
|
return;
|
|
}
|
|
|