/* 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; }