server-re/decomp/DBCServer_Release_x64/full/functions/0x1401d2520.c

54 lines
1.6 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401d2520 FUN_1401d2520
* Pseudocode, not original source. */
undefined8
FUN_1401d2520(longlong param_1,undefined8 param_2,undefined8 param_3,char *param_4,longlong *param_5
)
{
longlong *plVar1;
char cVar2;
undefined8 uVar3;
undefined8 uVar4;
longlong lVar5;
undefined *puVar6;
longlong lVar7;
undefined1 local_res8 [8];
undefined1 local_30 [8];
undefined4 local_28;
undefined2 local_24;
undefined8 local_20;
undefined1 local_18;
uVar3 = (**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))();
local_20 = uVar3;
FUN_14016db50(uVar3);
local_18 = 1;
lVar7 = 0;
if ((*param_4 != '\0') && (cVar2 = FUN_1401d1d10(*(undefined8 *)(param_1 + 0x20)), cVar2 != '\0'))
{
FUN_1401c7530(*(undefined8 *)(param_1 + 0x20));
puVar6 = (undefined *)*param_5;
if ((undefined *)*param_5 == (undefined *)0x0) {
puVar6 = PTR_DAT_140344098;
}
uVar4 = FUN_14019e770(local_res8,puVar6);
FUN_14016fc40(local_30,uVar4,(short)param_5[1]);
plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x20) + 0x1570);
lVar5 = lVar7;
if (plVar1 != (longlong *)0x0) {
lVar5 = *plVar1;
}
*(undefined4 *)(lVar5 + 0xd0) = local_28;
*(undefined2 *)(lVar5 + 0xd4) = local_24;
}
plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x20) + 0x1570);
if (plVar1 != (longlong *)0x0) {
lVar7 = *plVar1;
}
*(undefined1 *)(lVar7 + 0x40) = 0;
FUN_14016dbe0(uVar3);
return 1;
}