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

38 lines
1 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400cb410 FUN_1400cb410
* Pseudocode, not original source. */
void FUN_1400cb410(longlong *param_1,longlong *param_2)
{
longlong lVar1;
void *pvVar2;
undefined8 *puVar3;
longlong lVar4;
lVar1 = *param_2;
if (lVar1 != *param_1) {
lVar4 = 0;
if (lVar1 != 0) {
lVar4 = *(longlong *)(lVar1 + 8) + 1;
*(longlong *)(*param_2 + 8) = lVar4;
}
puVar3 = (undefined8 *)0x0;
if ((*param_1 != 0) &&
(*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1,
*(longlong *)(*param_1 + 8) == 0)) {
puVar3 = (undefined8 *)*param_1;
}
*param_1 = *param_2;
if (puVar3 != (undefined8 *)0x0) {
pvVar2 = (void *)*puVar3;
if (pvVar2 != (void *)0x0) {
FUN_1400031e0((longlong *)((longlong)pvVar2 + 8),param_2,lVar4,param_1);
operator_delete(pvVar2);
}
FUN_14006cc60(puVar3);
}
}
return;
}