41 lines
1.1 KiB
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;
|
|
}
|
|
|