42 lines
1.1 KiB
C
42 lines
1.1 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x14016f750 FUN_14016f750
|
|
* Pseudocode, not original source. */
|
|
|
|
longlong * FUN_14016f750(longlong *param_1,short *param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
short sVar1;
|
|
longlong lVar2;
|
|
int iVar3;
|
|
short *psVar4;
|
|
undefined8 uVar5;
|
|
|
|
uVar5 = 0xfffffffffffffffe;
|
|
lVar2 = (**(code **)(PTR_PTR_140346350 + 0x18))();
|
|
*param_1 = lVar2 + 0x18;
|
|
if (param_2 == (short *)0x0) {
|
|
iVar3 = 0;
|
|
}
|
|
else {
|
|
if (((ulonglong)param_2 & 0xffffffffffff0000) == 0) {
|
|
lVar2 = FUN_14016ed90((ulonglong)param_2 & 0xffff,0);
|
|
if (lVar2 == 0) {
|
|
return param_1;
|
|
}
|
|
FUN_14016f4e0(param_1,lVar2,(ulonglong)param_2 & 0xffff);
|
|
return param_1;
|
|
}
|
|
lVar2 = -1;
|
|
psVar4 = param_2;
|
|
do {
|
|
if (lVar2 == 0) break;
|
|
lVar2 = lVar2 + -1;
|
|
sVar1 = *psVar4;
|
|
psVar4 = psVar4 + 1;
|
|
} while (sVar1 != 0);
|
|
iVar3 = ~(uint)lVar2 - 1;
|
|
}
|
|
FUN_14016f5c0(param_1,param_2,iVar3,param_4,uVar5);
|
|
return param_1;
|
|
}
|
|
|