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
135
decomp/MessageServer_Release_x64/full/functions/0x140070c90.c
Normal file
135
decomp/MessageServer_Release_x64/full/functions/0x140070c90.c
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140070c90 FUN_140070c90
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
longlong * FUN_140070c90(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
undefined *puVar1;
|
||||
int *piVar2;
|
||||
LPCSTR pCVar3;
|
||||
int iVar4;
|
||||
longlong lVar5;
|
||||
LPCSTR *ppCVar6;
|
||||
undefined *puVar7;
|
||||
int *piVar8;
|
||||
short **ppsVar9;
|
||||
short *psVar10;
|
||||
undefined **ppuVar11;
|
||||
LPCSTR pCVar12;
|
||||
short *psVar13;
|
||||
uint uVar14;
|
||||
ulonglong uVar15;
|
||||
ulonglong uVar16;
|
||||
undefined8 uVar17;
|
||||
undefined1 auStack_208 [32];
|
||||
undefined *local_1e8;
|
||||
LPCSTR local_1e0;
|
||||
LPCSTR *local_1d8;
|
||||
undefined1 local_1d0;
|
||||
undefined8 local_1c8;
|
||||
short *local_1b8;
|
||||
short local_1b0 [132];
|
||||
LPCSTR local_a8 [16];
|
||||
ulonglong local_28;
|
||||
|
||||
local_1c8 = 0xfffffffffffffffe;
|
||||
local_28 = DAT_1401ac5a0 ^ (ulonglong)auStack_208;
|
||||
uVar15 = 0;
|
||||
local_1e8 = (undefined *)((ulonglong)local_1e8 & 0xffffffff00000000);
|
||||
ppuVar11 = (undefined **)0x80;
|
||||
ppCVar6 = local_a8;
|
||||
iVar4 = Ordinal_57();
|
||||
if (iVar4 == 0) {
|
||||
ppCVar6 = local_a8;
|
||||
lVar5 = Ordinal_52();
|
||||
if ((lVar5 != 0) && (ppCVar6 = *(LPCSTR **)(lVar5 + 0x18), *ppCVar6 != (LPCSTR)0x0)) {
|
||||
FUN_14006cb70(ppCVar6,ppuVar11,param_3,param_4);
|
||||
local_1e0 = PTR_DAT_1401ac008;
|
||||
uVar16 = uVar15;
|
||||
if (0 < *(short *)(lVar5 + 0x12)) {
|
||||
do {
|
||||
FUN_14006cb70(ppCVar6,ppuVar11,param_3,param_4);
|
||||
local_1e8 = PTR_DAT_1401ac008;
|
||||
if (0 < (longlong)uVar16) {
|
||||
FUN_140070060((longlong *)&local_1e0,".");
|
||||
}
|
||||
param_3 = (ulonglong)*(byte *)(**(longlong **)(lVar5 + 0x18) + uVar16);
|
||||
FUN_14006e800((longlong *)&local_1e8,"%u",param_3,param_4);
|
||||
ppuVar11 = &local_1e8;
|
||||
ppCVar6 = &local_1e0;
|
||||
FUN_14006e670((longlong *)ppCVar6,(longlong *)ppuVar11);
|
||||
puVar7 = local_1e8;
|
||||
if (((local_1e8 != (undefined *)0x0) && (local_1e8 != PTR_DAT_1401ac008)) &&
|
||||
(puVar1 = local_1e8 + -8, puVar1 != (undefined *)0x0)) {
|
||||
ppCVar6 = (LPCSTR *)FUN_14006cb70(ppCVar6,ppuVar11,param_3,param_4);
|
||||
local_1d8 = ppCVar6;
|
||||
FUN_14006b350((int *)ppCVar6);
|
||||
local_1d0 = 1;
|
||||
piVar2 = (int *)(puVar7 + -4);
|
||||
*piVar2 = *piVar2 + -1;
|
||||
if (*piVar2 == 0) {
|
||||
FUN_14006cc60(puVar1);
|
||||
}
|
||||
FUN_14006b3e0((longlong)ppCVar6);
|
||||
local_1d0 = 0;
|
||||
}
|
||||
uVar14 = (int)uVar15 + 1;
|
||||
uVar15 = (ulonglong)uVar14;
|
||||
uVar16 = uVar16 + 1;
|
||||
} while ((int)uVar14 < (int)*(short *)(lVar5 + 0x12));
|
||||
}
|
||||
pCVar3 = local_1e0;
|
||||
pCVar12 = local_1e0;
|
||||
if (local_1e0 == (LPCSTR)0x0) {
|
||||
pCVar12 = PTR_DAT_1401ac008;
|
||||
}
|
||||
local_1b8 = local_1b0;
|
||||
uVar17 = 3;
|
||||
ppsVar9 = &local_1b8;
|
||||
FUN_1400626b0((longlong *)ppsVar9,pCVar12,3);
|
||||
psVar13 = local_1b8;
|
||||
FUN_14006cb70(ppsVar9,pCVar12,uVar17,param_4);
|
||||
*param_1 = (longlong)PTR_DAT_1401ac010;
|
||||
uVar14 = FUN_14006c9f0(psVar13);
|
||||
puVar7 = FUN_140002f30(param_1,uVar14);
|
||||
uVar15 = (ulonglong)uVar14;
|
||||
FUN_14006ca20(puVar7,psVar13,uVar14);
|
||||
FUN_140003010(param_1);
|
||||
psVar10 = local_1b8;
|
||||
if (local_1b8 != local_1b0) {
|
||||
free(local_1b8);
|
||||
}
|
||||
if (pCVar3 == (LPCSTR)0x0) {
|
||||
return param_1;
|
||||
}
|
||||
if (pCVar3 == PTR_DAT_1401ac008) {
|
||||
return param_1;
|
||||
}
|
||||
if (pCVar3 + -8 == (LPCSTR)0x0) {
|
||||
return param_1;
|
||||
}
|
||||
piVar8 = (int *)FUN_14006cb70(psVar10,psVar13,uVar15,param_4);
|
||||
local_1d8 = (LPCSTR *)piVar8;
|
||||
FUN_14006b350(piVar8);
|
||||
local_1d0 = 1;
|
||||
piVar2 = (int *)(pCVar3 + -4);
|
||||
*piVar2 = *piVar2 + -1;
|
||||
if (*piVar2 == 0) {
|
||||
FUN_14006cc60(pCVar3 + -8);
|
||||
}
|
||||
FUN_14006b3e0((longlong)piVar8);
|
||||
return param_1;
|
||||
}
|
||||
}
|
||||
FUN_14006cb70(ppCVar6,ppuVar11,param_3,param_4);
|
||||
*param_1 = (longlong)PTR_DAT_1401ac010;
|
||||
iVar4 = FUN_14006c9f0(&DAT_14015cd00);
|
||||
puVar7 = FUN_140002f30(param_1,iVar4);
|
||||
FUN_14006ca20(puVar7,&DAT_14015cd00,iVar4);
|
||||
FUN_140003010(param_1);
|
||||
return param_1;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue