server-re/decomp/Agent_Release_x64/full/functions/0x14002f670.c
2026-10-14 16:45:19 -04:00

37 lines
979 B
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x14002f670 FUN_14002f670
* Pseudocode, not original source. */
ushort * FUN_14002f670(HMODULE param_1,HRSRC param_2,uint param_3)
{
DWORD DVar1;
HGLOBAL hResData;
ushort *puVar2;
uint uVar3;
ushort *puVar4;
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);
puVar4 = (ushort *)((ulonglong)DVar1 + (longlong)puVar2);
for (uVar3 = param_3 & 0xf; uVar3 != 0; uVar3 = uVar3 - 1) {
if (puVar4 <= puVar2) {
return (ushort *)0x0;
}
puVar2 = puVar2 + (ulonglong)*puVar2 + 1;
}
if (puVar2 < puVar4) {
if (*puVar2 == 0) {
return (ushort *)0x0;
}
return puVar2;
}
}
return (ushort *)0x0;
}