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

36 lines
977 B
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14016ecf0 FUN_14016ecf0
* Pseudocode, not original source. */
ushort * FUN_14016ecf0(HMODULE param_1,HRSRC param_2,uint param_3)
{
DWORD DVar1;
HGLOBAL hResData;
ushort *puVar2;
ushort *puVar3;
hResData = LoadResource(param_1,param_2);
if (hResData == (HGLOBAL)0x0) {
return (ushort *)0x0;
}
puVar2 = LockResource(hResData);
if (puVar2 != (ushort *)0x0) {
DVar1 = SizeofResource(param_1,param_2);
puVar3 = (ushort *)((ulonglong)DVar1 + (longlong)puVar2);
for (param_3 = param_3 & 0xf; param_3 != 0; param_3 = param_3 - 1) {
if (puVar3 <= puVar2) {
return (ushort *)0x0;
}
puVar2 = puVar2 + (ulonglong)*puVar2 + 1;
}
if (puVar2 < puVar3) {
if (*puVar2 == 0) {
return (ushort *)0x0;
}
return puVar2;
}
}
return (ushort *)0x0;
}