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
211
decomp/MessageServer_Release_x64/full/functions/0x1400da710.c
Normal file
211
decomp/MessageServer_Release_x64/full/functions/0x1400da710.c
Normal file
|
|
@ -0,0 +1,211 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400da710 FUN_1400da710
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
void FUN_1400da710(longlong param_1,short **param_2,undefined *param_3,ulonglong param_4)
|
||||
|
||||
{
|
||||
int *piVar1;
|
||||
int iVar2;
|
||||
int iVar3;
|
||||
int iVar4;
|
||||
int iVar5;
|
||||
int *piVar6;
|
||||
short *psVar7;
|
||||
uint uVar8;
|
||||
int iVar9;
|
||||
double dVar10;
|
||||
undefined1 auStack_ab8 [32];
|
||||
short *local_a98;
|
||||
short *local_a90;
|
||||
int *local_a88;
|
||||
undefined1 local_a80;
|
||||
int local_a7c;
|
||||
int *local_a78;
|
||||
undefined1 local_a70;
|
||||
undefined8 local_a68;
|
||||
undefined8 local_a58 [324];
|
||||
ulonglong local_38;
|
||||
|
||||
local_a68 = 0xfffffffffffffffe;
|
||||
local_38 = DAT_1401ac5a0 ^ (ulonglong)auStack_ab8;
|
||||
FUN_1400766e0(local_a58,param_2,param_3,param_4);
|
||||
FUN_140076800((longlong)local_a58);
|
||||
if (*(char *)(param_1 + 0x1040) == '\0') {
|
||||
do {
|
||||
dVar10 = (double)FUN_140076d50((longlong)local_a58);
|
||||
piVar1 = (int *)(param_1 + 0x28);
|
||||
iVar9 = 0;
|
||||
iVar5 = 0;
|
||||
param_3 = (undefined *)0x0;
|
||||
if (dVar10 <= 0.9) {
|
||||
piVar6 = piVar1;
|
||||
local_a88 = piVar1;
|
||||
local_a7c = FUN_1400da540(piVar1);
|
||||
local_a80 = 1;
|
||||
param_2 = (short **)(param_1 + 0x80);
|
||||
uVar8 = *(uint *)param_2;
|
||||
param_4 = (ulonglong)uVar8;
|
||||
do {
|
||||
if (uVar8 != *(uint *)param_2) {
|
||||
FUN_14006cb70(piVar6,param_2,param_3,param_4);
|
||||
local_a98 = (short *)PTR_DAT_1401ac010;
|
||||
iVar2 = FUN_14006c9f0((short *)&DAT_140148290);
|
||||
iVar4 = iVar5;
|
||||
if ((local_a98 != (short *)0x0) && (local_a98 != (short *)PTR_DAT_1401ac010)) {
|
||||
iVar4 = *(int *)(local_a98 + -4);
|
||||
}
|
||||
iVar3 = iVar2;
|
||||
if (((iVar2 <= iVar4) && (iVar3 = iVar9, local_a98 != (short *)0x0)) &&
|
||||
(local_a98 != (short *)PTR_DAT_1401ac010)) {
|
||||
iVar3 = *(int *)(local_a98 + -4);
|
||||
}
|
||||
iVar9 = 1;
|
||||
if (1 < iVar3) {
|
||||
iVar9 = iVar3;
|
||||
}
|
||||
iVar4 = iVar5;
|
||||
if ((local_a98 != (short *)0x0) && (local_a98 != (short *)PTR_DAT_1401ac010)) {
|
||||
iVar4 = *(int *)(local_a98 + -4);
|
||||
}
|
||||
if (iVar4 < iVar9) {
|
||||
FUN_140002d60((longlong *)&local_a98,iVar9);
|
||||
}
|
||||
FUN_140002e40((longlong *)&local_a98);
|
||||
psVar7 = local_a98;
|
||||
if (local_a98 == (short *)0x0) {
|
||||
psVar7 = (short *)PTR_DAT_1401ac010;
|
||||
}
|
||||
FUN_14006ca20(psVar7,&DAT_140148290,iVar2);
|
||||
psVar7 = local_a98;
|
||||
if (local_a98 == (short *)0x0) {
|
||||
psVar7 = (short *)PTR_DAT_1401ac010;
|
||||
}
|
||||
iVar4 = FUN_14006c9f0(psVar7);
|
||||
param_3 = PTR_DAT_1401ac010;
|
||||
iVar9 = 0;
|
||||
if (0 < iVar4) {
|
||||
iVar9 = iVar4;
|
||||
}
|
||||
iVar4 = iVar5;
|
||||
if ((local_a98 != (short *)0x0) && (local_a98 != (short *)PTR_DAT_1401ac010)) {
|
||||
iVar4 = *(int *)(local_a98 + -4);
|
||||
}
|
||||
if ((iVar9 < iVar4) || (iVar9 = iVar5, local_a98 == (short *)0x0)) {
|
||||
LAB_1400daa7e:
|
||||
if (((local_a98 != (short *)PTR_DAT_1401ac010) && (local_a98 != (short *)0x0)) &&
|
||||
((int *)(local_a98 + -4) != (int *)0x0)) {
|
||||
*(int *)(local_a98 + -4) = iVar9;
|
||||
local_a98[iVar9] = 0;
|
||||
}
|
||||
}
|
||||
else if (local_a98 != (short *)PTR_DAT_1401ac010) {
|
||||
iVar9 = *(int *)(local_a98 + -4);
|
||||
goto LAB_1400daa7e;
|
||||
}
|
||||
param_2 = &local_a98;
|
||||
FUN_14009b550(*(SIZE_T **)(param_1 + 0x1088),(wchar_t *)param_2,(SIZE_T)param_3,param_4)
|
||||
;
|
||||
*(undefined1 *)(param_1 + 0x1040) = 1;
|
||||
FUN_1400da5c0(piVar1);
|
||||
goto LAB_1400daabf;
|
||||
}
|
||||
param_3 = param_3 + 1;
|
||||
param_2 = (short **)((longlong)param_2 + 4);
|
||||
} while ((longlong)param_3 < 1000);
|
||||
if (1 < local_a7c) {
|
||||
*(undefined1 *)(param_1 + 0x1080) = 1;
|
||||
}
|
||||
FUN_1400da5c0(piVar1);
|
||||
local_a80 = 0;
|
||||
}
|
||||
else {
|
||||
piVar6 = piVar1;
|
||||
local_a78 = piVar1;
|
||||
FUN_1400da5f0(piVar1);
|
||||
local_a70 = 1;
|
||||
param_2 = (short **)(param_1 + 0x80);
|
||||
iVar4 = *(int *)param_2;
|
||||
param_4 = (ulonglong)(iVar4 + 1U);
|
||||
do {
|
||||
iVar2 = *(int *)param_2;
|
||||
*(uint *)param_2 = iVar2 + 1U;
|
||||
if (iVar4 + 1U != iVar2 + 1U) {
|
||||
FUN_14006cb70(piVar6,param_2,param_3,param_4);
|
||||
local_a90 = (short *)PTR_DAT_1401ac010;
|
||||
iVar2 = FUN_14006c9f0((short *)&DAT_140148300);
|
||||
iVar4 = iVar9;
|
||||
if ((local_a90 != (short *)0x0) && (local_a90 != (short *)PTR_DAT_1401ac010)) {
|
||||
iVar4 = *(int *)(local_a90 + -4);
|
||||
}
|
||||
iVar3 = iVar2;
|
||||
if (((iVar2 <= iVar4) && (iVar3 = iVar9, local_a90 != (short *)0x0)) &&
|
||||
(local_a90 != (short *)PTR_DAT_1401ac010)) {
|
||||
iVar3 = *(int *)(local_a90 + -4);
|
||||
}
|
||||
iVar4 = 1;
|
||||
if (1 < iVar3) {
|
||||
iVar4 = iVar3;
|
||||
}
|
||||
iVar3 = iVar9;
|
||||
if ((local_a90 != (short *)0x0) && (local_a90 != (short *)PTR_DAT_1401ac010)) {
|
||||
iVar3 = *(int *)(local_a90 + -4);
|
||||
}
|
||||
if (iVar3 < iVar4) {
|
||||
FUN_140002d60((longlong *)&local_a90,iVar4);
|
||||
}
|
||||
FUN_140002e40((longlong *)&local_a90);
|
||||
psVar7 = local_a90;
|
||||
if (local_a90 == (short *)0x0) {
|
||||
psVar7 = (short *)PTR_DAT_1401ac010;
|
||||
}
|
||||
FUN_14006ca20(psVar7,&DAT_140148300,iVar2);
|
||||
psVar7 = local_a90;
|
||||
if (local_a90 == (short *)0x0) {
|
||||
psVar7 = (short *)PTR_DAT_1401ac010;
|
||||
}
|
||||
iVar2 = FUN_14006c9f0(psVar7);
|
||||
param_3 = PTR_DAT_1401ac010;
|
||||
iVar4 = 0;
|
||||
if (0 < iVar2) {
|
||||
iVar4 = iVar2;
|
||||
}
|
||||
if ((local_a90 != (short *)0x0) && (local_a90 != (short *)PTR_DAT_1401ac010)) {
|
||||
iVar9 = *(int *)(local_a90 + -4);
|
||||
}
|
||||
if ((iVar4 < iVar9) || (iVar4 = iVar5, local_a90 == (short *)0x0)) {
|
||||
LAB_1400da94d:
|
||||
if (((local_a90 != (short *)PTR_DAT_1401ac010) && (local_a90 != (short *)0x0)) &&
|
||||
((int *)(local_a90 + -4) != (int *)0x0)) {
|
||||
*(int *)(local_a90 + -4) = iVar4;
|
||||
local_a90[iVar4] = 0;
|
||||
}
|
||||
}
|
||||
else if (local_a90 != (short *)PTR_DAT_1401ac010) {
|
||||
iVar4 = *(int *)(local_a90 + -4);
|
||||
goto LAB_1400da94d;
|
||||
}
|
||||
param_2 = &local_a90;
|
||||
FUN_14009b550(*(SIZE_T **)(param_1 + 0x1088),(wchar_t *)param_2,(SIZE_T)param_3,param_4)
|
||||
;
|
||||
*(undefined1 *)(param_1 + 0x1040) = 1;
|
||||
FUN_1400da680(piVar1);
|
||||
goto LAB_1400daabf;
|
||||
}
|
||||
uVar8 = (int)param_3 + 1;
|
||||
param_3 = (undefined *)(ulonglong)uVar8;
|
||||
param_2 = (short **)((longlong)param_2 + 4);
|
||||
} while ((int)uVar8 < 1000);
|
||||
FUN_1400da680(piVar1);
|
||||
local_a70 = 0;
|
||||
}
|
||||
Sleep(0);
|
||||
} while (*(char *)(param_1 + 0x1040) == '\0');
|
||||
}
|
||||
LAB_1400daabf:
|
||||
FUN_140076720(local_a58,param_2,param_3,param_4);
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue