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

55 lines
1.9 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x14001a530 FUN_14001a530
* Pseudocode, not original source. */
undefined1
FUN_14001a530(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4,ushort *param_5
,undefined8 *param_6,longlong *param_7,longlong *param_8,uint *param_9)
{
undefined1 uVar1;
undefined8 uVar2;
uint *puVar3;
undefined8 *puVar4;
undefined8 uVar5;
ulonglong uVar6;
undefined4 local_40 [2];
longlong local_38;
longlong local_30;
int local_24;
uVar6 = param_3 & 0xffffffff;
uVar2 = param_2;
uVar5 = param_4;
FUN_1400bca00(local_40);
FUN_1400bc4d0((longlong)local_40,uVar2,param_3,uVar5);
FUN_140054930((longlong)local_40,0x2f07,param_3,uVar5);
FUN_140054930((longlong)local_40,(ulonglong)*param_5,param_3,uVar5);
FUN_1400d9b40((longlong)local_40,param_6,param_3,uVar5);
FUN_140014500((longlong)local_40,param_7[1] - *param_7 >> 2,param_3,uVar5);
puVar3 = (uint *)*param_7;
if (puVar3 != (uint *)param_7[1]) {
do {
FUN_140014500((longlong)local_40,(ulonglong)*puVar3,param_3,uVar5);
puVar3 = puVar3 + 1;
} while (puVar3 != (uint *)param_7[1]);
}
FUN_140014500((longlong)local_40,param_8[1] - *param_8 >> 4,param_3,uVar5);
puVar4 = (undefined8 *)*param_8;
if (puVar4 != (undefined8 *)param_8[1]) {
do {
FUN_1400d9b40((longlong)local_40,puVar4,param_3,uVar5);
puVar4 = puVar4 + 2;
} while (puVar4 != (undefined8 *)param_8[1]);
}
FUN_140014500((longlong)local_40,(ulonglong)*param_9,param_3,uVar5);
uVar1 = (**(code **)(*param_1 + 0x18))
(param_1,param_2,uVar6,param_4,local_40,L"REQ_SAVE_ITEM_QUICKSLOT",0x2f07);
FUN_1400d1800(&local_38);
if ((local_30 != 0) && (local_24 < 0)) {
/* WARNING: Subroutine does not return */
FUN_14006be00();
}
return uVar1;
}