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

42 lines
1.2 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400db180 FUN_1400db180
* Pseudocode, not original source. */
void FUN_1400db180(longlong *param_1,longlong param_2,SIZE_T *param_3,undefined8 param_4)
{
SIZE_T SVar1;
longlong *plVar2;
longlong lVar3;
undefined2 *puVar4;
undefined8 *puVar5;
puVar4 = FUN_1400db010(param_1);
SVar1 = *param_3;
*(SIZE_T *)(puVar4 + 0x14) = SVar1;
thunk_FUN_1400de670(param_2,(longlong)puVar4,SVar1,param_4);
plVar2 = (longlong *)param_1[1];
lVar3 = param_1[3];
if (plVar2 == (longlong *)0x0) {
puVar5 = (undefined8 *)FUN_14006cbf0(0x18);
}
else {
puVar5 = (undefined8 *)(**(code **)(*plVar2 + 8))(plVar2,0x18);
}
if (puVar5 != (undefined8 *)0x0) {
puVar5[2] = puVar4;
}
puVar5[1] = lVar3;
*puVar5 = 0;
param_1[4] = param_1[4] + 1;
if ((undefined8 *)param_1[3] == (undefined8 *)0x0) {
param_1[2] = (longlong)puVar5;
}
else {
*(undefined8 *)param_1[3] = puVar5;
}
param_1[3] = (longlong)puVar5;
*(int *)((longlong)param_1 + 0x34) = *(int *)((longlong)param_1 + 0x34) + *(int *)(puVar4 + 0xc);
return;
}