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,54 @@
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x140001200 FUN_140001200
* Pseudocode, not original source. */
longlong FUN_140001200(longlong param_1)
{
longlong *lpBuffer;
longlong lVar1;
int iVar2;
char *_DstBuf;
longlong lVar3;
char *_Format;
lpBuffer = (longlong *)(param_1 + 0x18);
if (*(longlong *)(param_1 + 0x18) == 0) {
FormatMessageA(0x1300,(LPCVOID)0x0,*(DWORD *)(param_1 + 8),0x400,(LPSTR)lpBuffer,0,
(va_list *)0x0);
if ((LPCSTR)*lpBuffer == (LPCSTR)0x0) {
_DstBuf = LocalAlloc(0,0x20);
*lpBuffer = (longlong)_DstBuf;
if (_DstBuf == (char *)0x0) {
return 0;
}
if ((*(int *)(param_1 + 8) + 0x7ffbfe00U < 0xfe00) && ((short)*(int *)(param_1 + 8) != 0x200))
{
_Format = "IDispatch error #%d";
}
else {
_Format = "Unknown error 0x%0lX";
}
sprintf_s(_DstBuf,0x20,_Format);
}
else {
iVar2 = lstrlenA((LPCSTR)*lpBuffer);
if (1 < iVar2) {
lVar3 = (longlong)iVar2;
lVar1 = *lpBuffer;
if (*(char *)(lVar3 + -1 + lVar1) != '\n') {
return lVar1;
}
*(undefined1 *)(lVar3 + -1 + lVar1) = 0;
lVar1 = *lpBuffer;
if (*(char *)(lVar3 + -2 + lVar1) != '\r') {
return lVar1;
}
*(undefined1 *)(lVar3 + -2 + lVar1) = 0;
return *lpBuffer;
}
}
}
return *lpBuffer;
}