110 lines
2.9 KiB
C
110 lines
2.9 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400a26f0 FUN_1400a26f0
|
|
* Pseudocode, not original source. */
|
|
|
|
longlong * FUN_1400a26f0(longlong *param_1)
|
|
|
|
{
|
|
wint_t *pwVar1;
|
|
undefined *puVar2;
|
|
int iVar3;
|
|
wint_t *pwVar4;
|
|
wint_t *pwVar5;
|
|
int iVar6;
|
|
int iVar7;
|
|
undefined *_Dst;
|
|
|
|
pwVar4 = (wint_t *)*param_1;
|
|
if ((wint_t *)*param_1 == (wint_t *)0x0) {
|
|
pwVar4 = (wint_t *)PTR_DAT_1401ac010;
|
|
}
|
|
iVar3 = iswspace(*pwVar4);
|
|
while (iVar3 != 0) {
|
|
pwVar4 = (wint_t *)FUN_14006ca70((longlong)pwVar4);
|
|
iVar3 = iswspace(*pwVar4);
|
|
}
|
|
pwVar1 = (wint_t *)*param_1;
|
|
pwVar5 = pwVar1;
|
|
if (pwVar1 == (wint_t *)0x0) {
|
|
pwVar5 = (wint_t *)PTR_DAT_1401ac010;
|
|
}
|
|
if (pwVar4 == pwVar5) {
|
|
return param_1;
|
|
}
|
|
pwVar5 = pwVar1;
|
|
if (pwVar1 == (wint_t *)0x0) {
|
|
pwVar5 = (wint_t *)PTR_DAT_1401ac010;
|
|
}
|
|
iVar6 = 0;
|
|
iVar3 = 0;
|
|
if (pwVar1 != (wint_t *)0x0) {
|
|
if (pwVar1 != (wint_t *)PTR_DAT_1401ac010) {
|
|
iVar3 = *(int *)(pwVar1 + -4);
|
|
}
|
|
if (pwVar1 != (wint_t *)0x0) {
|
|
iVar7 = 0;
|
|
if (pwVar1 != (wint_t *)PTR_DAT_1401ac010) {
|
|
iVar7 = *(int *)(pwVar1 + -4);
|
|
}
|
|
goto LAB_1400a278c;
|
|
}
|
|
}
|
|
iVar7 = 0;
|
|
LAB_1400a278c:
|
|
if (((iVar3 <= iVar7) && (iVar3 = iVar6, pwVar1 != (wint_t *)0x0)) &&
|
|
(iVar3 = 0, pwVar1 != (wint_t *)PTR_DAT_1401ac010)) {
|
|
iVar3 = *(int *)(pwVar1 + -4);
|
|
}
|
|
iVar7 = 1;
|
|
if (1 < iVar3) {
|
|
iVar7 = iVar3;
|
|
}
|
|
iVar3 = 0;
|
|
if ((pwVar1 != (wint_t *)0x0) && (iVar3 = 0, pwVar1 != (wint_t *)PTR_DAT_1401ac010)) {
|
|
iVar3 = *(int *)(pwVar1 + -4);
|
|
}
|
|
if (iVar3 < iVar7) {
|
|
FUN_140002d60(param_1,iVar7);
|
|
}
|
|
FUN_140002e40(param_1);
|
|
puVar2 = (undefined *)*param_1;
|
|
iVar3 = (int)((longlong)pwVar4 - (longlong)pwVar5 >> 1);
|
|
_Dst = puVar2;
|
|
if (puVar2 == (undefined *)0x0) {
|
|
_Dst = PTR_DAT_1401ac010;
|
|
}
|
|
iVar7 = 0;
|
|
if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1401ac010)) {
|
|
iVar7 = *(int *)(puVar2 + -8);
|
|
}
|
|
iVar7 = iVar7 - iVar3;
|
|
if (puVar2 == (undefined *)0x0) {
|
|
iVar6 = 0;
|
|
}
|
|
else if (puVar2 != PTR_DAT_1401ac010) {
|
|
iVar6 = *(int *)(puVar2 + -8);
|
|
}
|
|
memmove_s(_Dst,(longlong)(iVar6 + 1) * 2,_Dst + (longlong)iVar3 * 2,(longlong)(iVar7 + 1) * 2);
|
|
puVar2 = (undefined *)*param_1;
|
|
iVar3 = 0;
|
|
iVar6 = 0;
|
|
if (0 < iVar7) {
|
|
iVar6 = iVar7;
|
|
}
|
|
if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1401ac010)) {
|
|
iVar3 = *(int *)(puVar2 + -8);
|
|
}
|
|
if ((iVar3 <= iVar6) && (iVar6 = 0, puVar2 != (undefined *)0x0)) {
|
|
if (puVar2 == PTR_DAT_1401ac010) {
|
|
return param_1;
|
|
}
|
|
iVar6 = *(int *)(puVar2 + -8);
|
|
}
|
|
if (((puVar2 != PTR_DAT_1401ac010) && (puVar2 != (undefined *)0x0)) &&
|
|
((int *)(puVar2 + -8) != (int *)0x0)) {
|
|
*(int *)(puVar2 + -8) = iVar6;
|
|
*(undefined2 *)(puVar2 + (longlong)iVar6 * 2) = 0;
|
|
}
|
|
return param_1;
|
|
}
|
|
|