decomp DBCServer_Release and inspect/document database

This commit is contained in:
Benjamin Palko 2026-10-14 23:22:03 -04:00
parent 4b267cbe05
commit 7834b98bf0
28222 changed files with 843300 additions and 144 deletions

View file

@ -0,0 +1,74 @@
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14009f190 FUN_14009f190
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
void FUN_14009f190(undefined8 param_1,longlong param_2)
{
undefined8 *puVar1;
errno_t eVar2;
undefined8 *puVar3;
undefined1 auStack_1a8 [32];
uint local_188;
uint local_180;
uint local_178;
uint local_170;
FILE *local_168;
undefined8 *local_160;
undefined8 *local_158;
_SYSTEMTIME local_150;
char local_138;
undefined1 local_137 [271];
ulonglong local_28;
local_28 = DAT_1403463c0 ^ (ulonglong)auStack_1a8;
local_138 = '\0';
memset(local_137,0,0x103);
local_168 = (FILE *)0x0;
GetLocalTime(&local_150);
local_170 = (uint)local_150.wHour;
local_178 = (uint)local_150.wDay;
local_180 = (uint)local_150.wMonth;
local_188 = (uint)local_150.wYear;
FUN_1400a4c50(&local_138,0x104,"LOG_%s_%04d-%02d-%02d_%02d.txt",param_1);
eVar2 = fopen_s(&local_168,&local_138,"wt");
if (eVar2 != 0) {
return;
}
if (local_168 == (FILE *)0x0) {
return;
}
if (*(longlong *)(param_2 + 0x20) == 0) {
local_160 = (undefined8 *)0x0;
}
else {
local_160 = *(undefined8 **)(param_2 + 0x30);
if (local_160 != (undefined8 *)0x0) {
local_158 = (undefined8 *)*local_160;
puVar3 = local_160;
puVar1 = local_158;
goto joined_r0x00014009f287;
}
}
local_158 = (undefined8 *)0x0;
puVar3 = local_160;
puVar1 = local_158;
joined_r0x00014009f287:
while (puVar1 != (undefined8 *)0x0) {
local_188 = *(uint *)((longlong)puVar1 + 0xc);
fprintf(local_168,"%s\t%d\tCount\t%d\n");
for (puVar1 = (undefined8 *)*puVar1; puVar1 == (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1
) {
puVar1 = puVar3 + 1;
puVar3 = puVar3 + 1;
}
if (puVar3 == puVar1) {
puVar1 = (undefined8 *)0x0;
}
}
fclose(local_168);
return;
}