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

41 lines
1.1 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x14006c040 FUN_14006c040
* Pseudocode, not original source. */
void FUN_14006c040(wchar_t *param_1,int param_2,wchar_t *param_3,uint param_4)
{
wchar_t wVar1;
errno_t eVar2;
longlong lVar3;
wchar_t *pwVar4;
if (param_4 == 0xffffffff) {
lVar3 = -1;
pwVar4 = param_3;
do {
if (lVar3 == 0) break;
lVar3 = lVar3 + -1;
wVar1 = *pwVar4;
pwVar4 = pwVar4 + 1;
} while (wVar1 != L'\0');
param_4 = ~(uint)lVar3;
}
eVar2 = wmemcpy_s(param_1,(longlong)param_2,param_3,(longlong)(int)param_4);
if (eVar2 != 0) {
if (eVar2 == 0xc) {
/* WARNING: Subroutine does not return */
FUN_1400064e0(0x8007000e);
}
if ((eVar2 == 0x16) || (eVar2 == 0x22)) {
/* WARNING: Subroutine does not return */
FUN_1400064e0(0x80070057);
}
if (eVar2 != 0x50) {
/* WARNING: Subroutine does not return */
FUN_1400064e0(0x80004005);
}
}
return;
}