decomp DBCServer_Release and inspect/document database
This commit is contained in:
parent
4b267cbe05
commit
7834b98bf0
28222 changed files with 843300 additions and 144 deletions
110
decomp/MessageServer_Release_x64/full/functions/0x1400a26f0.c
Normal file
110
decomp/MessageServer_Release_x64/full/functions/0x1400a26f0.c
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
/* 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;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue