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
|
|
@ -0,0 +1,15 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001020 FUN_140001020
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
exception * FUN_140001020(exception *param_1,uint param_2)
|
||||
|
||||
{
|
||||
*(undefined ***)param_1 = std::bad_alloc::vftable;
|
||||
std::exception::~exception(param_1);
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001060 FUN_140001060
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
undefined8 FUN_140001060(longlong param_1)
|
||||
|
||||
{
|
||||
PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo;
|
||||
DWORD DVar1;
|
||||
BOOL BVar2;
|
||||
wchar_t *pwVar3;
|
||||
wchar_t *pwVar4;
|
||||
ulonglong uVar5;
|
||||
HANDLE pvVar6;
|
||||
undefined1 auStack_268 [32];
|
||||
undefined8 local_248;
|
||||
undefined8 local_240;
|
||||
WCHAR local_228;
|
||||
undefined1 local_226 [526];
|
||||
ulonglong local_18;
|
||||
|
||||
local_18 = DAT_1401ac5a0 ^ (ulonglong)auStack_268;
|
||||
DVar1 = GetCurrentProcessId();
|
||||
*(DWORD *)(param_1 + 0x450) = DVar1;
|
||||
local_228 = L'\0';
|
||||
memset(local_226,0,0x206);
|
||||
DVar1 = GetModuleFileNameW((HMODULE)0x0,&local_228,0x104);
|
||||
if (0 < (int)DVar1) {
|
||||
pwVar3 = wcsrchr(&local_228,L'\\');
|
||||
pwVar4 = wcsrchr(&local_228,L'.');
|
||||
uVar5 = (longlong)pwVar4 + (-2 - (longlong)pwVar3) >> 1;
|
||||
if (0x104 < uVar5) {
|
||||
uVar5 = 0x104;
|
||||
}
|
||||
memcpy((void *)(param_1 + 0x3c),pwVar3 + 1,uVar5 * 2);
|
||||
FUN_140001260(param_1,param_1 + 0x3c);
|
||||
pvVar6 = GetStdHandle(0xfffffff5);
|
||||
*(HANDLE *)(param_1 + 8) = pvVar6;
|
||||
if (pvVar6 != (HANDLE)0xffffffffffffffff) {
|
||||
FUN_1400011d0(param_1);
|
||||
pvVar6 = *(HANDLE *)(param_1 + 8);
|
||||
if (pvVar6 != (HANDLE)0xffffffffffffffff) {
|
||||
lpConsoleScreenBufferInfo = (PCONSOLE_SCREEN_BUFFER_INFO)(param_1 + 0x10);
|
||||
local_248 = 0;
|
||||
local_240 = 0;
|
||||
(lpConsoleScreenBufferInfo->dwSize).X = 0;
|
||||
(lpConsoleScreenBufferInfo->dwSize).Y = 0;
|
||||
(lpConsoleScreenBufferInfo->dwCursorPosition).X = 0;
|
||||
(lpConsoleScreenBufferInfo->dwCursorPosition).Y = 0;
|
||||
*(undefined8 *)(param_1 + 0x18) = 0;
|
||||
*(undefined4 *)(param_1 + 0x20) = 0;
|
||||
*(undefined2 *)(param_1 + 0x24) = 0;
|
||||
BVar2 = GetConsoleScreenBufferInfo(pvVar6,lpConsoleScreenBufferInfo);
|
||||
if (BVar2 != 0) {
|
||||
*(undefined2 *)(param_1 + 0x454) = *(undefined2 *)(param_1 + 0x18);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400011d0 FUN_1400011d0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
BOOL FUN_1400011d0(longlong param_1)
|
||||
|
||||
{
|
||||
BOOL BVar1;
|
||||
DWORD local_res10 [2];
|
||||
|
||||
if (*(HANDLE *)(param_1 + 8) == (HANDLE)0xffffffffffffffff) {
|
||||
return 0;
|
||||
}
|
||||
BVar1 = GetConsoleScreenBufferInfo
|
||||
(*(HANDLE *)(param_1 + 8),(PCONSOLE_SCREEN_BUFFER_INFO)(param_1 + 0x26));
|
||||
if (BVar1 == 0) {
|
||||
return 0;
|
||||
}
|
||||
FillConsoleOutputAttribute
|
||||
(*(HANDLE *)(param_1 + 8),*(ushort *)(param_1 + 0x2e) & 0xf | 0x10,
|
||||
(int)*(short *)(param_1 + 0x28) * (int)*(short *)(param_1 + 0x26),(COORD)0x0,
|
||||
local_res10);
|
||||
BVar1 = SetConsoleTextAttribute(*(HANDLE *)(param_1 + 8),0x17);
|
||||
return BVar1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001260 FUN_140001260
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
void FUN_140001260(longlong param_1,longlong param_2)
|
||||
|
||||
{
|
||||
longlong lVar1;
|
||||
ulonglong uVar2;
|
||||
undefined1 auStack_248 [32];
|
||||
wchar_t local_228;
|
||||
undefined1 local_226 [526];
|
||||
ulonglong local_18;
|
||||
|
||||
local_18 = DAT_1401ac5a0 ^ (ulonglong)auStack_248;
|
||||
uVar2 = (ulonglong)*(uint *)(param_1 + 0x450);
|
||||
lVar1 = param_1 + 0x3c;
|
||||
if (param_2 != 0) {
|
||||
lVar1 = param_2;
|
||||
}
|
||||
FUN_140001bd0((wchar_t *)(param_1 + 0x246),L"%s [%u]",lVar1,uVar2);
|
||||
local_228 = L'\0';
|
||||
memset(local_226,0,0x206);
|
||||
FUN_140001ba0(&local_228,L"%s",(wchar_t *)(param_1 + 0x246),uVar2);
|
||||
SetConsoleTitleW(&local_228);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001300 FUN_140001300
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140001300(undefined8 param_1,undefined8 param_2,undefined8 param_3)
|
||||
|
||||
{
|
||||
FUN_14011b730(DAT_1401ba9e8,L"Invalid parameter detected in function %s. File: %s Line: %d\n",
|
||||
param_2,param_3);
|
||||
FUN_14011b730(DAT_1401ba9e8,L"Expression: %s\n",param_1,param_3);
|
||||
return;
|
||||
}
|
||||
|
||||
159
decomp/MessageServer_Release_x64/full/functions/0x140001350.c
Normal file
159
decomp/MessageServer_Release_x64/full/functions/0x140001350.c
Normal file
|
|
@ -0,0 +1,159 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001350 FUN_140001350
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __chkstk replaced with injection: alloca_probe */
|
||||
|
||||
undefined8 FUN_140001350(int param_1,longlong param_2,undefined8 param_3,char *param_4)
|
||||
|
||||
{
|
||||
short sVar1;
|
||||
FILE *_File;
|
||||
undefined4 uVar2;
|
||||
DWORD DVar3;
|
||||
_invalid_parameter_handler _Handler;
|
||||
ulonglong uVar4;
|
||||
char *pcVar5;
|
||||
short *psVar6;
|
||||
HANDLE *ppvVar7;
|
||||
undefined8 *puVar8;
|
||||
undefined4 *HeapInformation;
|
||||
undefined *puVar9;
|
||||
LPCWSTR pWVar10;
|
||||
undefined4 local_res18 [2];
|
||||
undefined8 local_res20;
|
||||
undefined **local_2108;
|
||||
undefined4 local_2100;
|
||||
void *local_20f8;
|
||||
undefined8 local_20f0;
|
||||
undefined8 local_20e8;
|
||||
undefined8 local_20d8;
|
||||
undefined8 local_20d0;
|
||||
undefined4 local_20c8;
|
||||
undefined8 *local_20c0;
|
||||
undefined8 local_20b8;
|
||||
undefined8 local_20b0;
|
||||
undefined8 local_20a8;
|
||||
undefined8 local_20a0;
|
||||
undefined8 local_2098;
|
||||
undefined8 local_2090;
|
||||
undefined4 local_2088 [16];
|
||||
undefined8 local_2048;
|
||||
HANDLE local_2038;
|
||||
undefined1 local_2030 [8192];
|
||||
undefined8 uStack_30;
|
||||
|
||||
uStack_30 = 0x14000136b;
|
||||
local_2048 = 0xfffffffffffffffe;
|
||||
DAT_1401bcf04 = timeGetTime();
|
||||
FUN_140009e00(&local_res20);
|
||||
uVar2 = FUN_140009e40(&local_res20);
|
||||
if ((char)uVar2 != '\0') {
|
||||
FUN_140009eb0();
|
||||
FUN_140001660();
|
||||
FUN_140001060((longlong)DAT_1401ba9f0);
|
||||
if (1 < param_1) {
|
||||
uVar4 = 0xffffffffffffffff;
|
||||
psVar6 = *(short **)(param_2 + 8);
|
||||
do {
|
||||
if (uVar4 == 0) break;
|
||||
uVar4 = uVar4 - 1;
|
||||
sVar1 = *psVar6;
|
||||
psVar6 = psVar6 + 1;
|
||||
} while (sVar1 != 0);
|
||||
FUN_140001830((ulonglong *)&DAT_1401b3540,*(short **)(param_2 + 8),~uVar4 - 1);
|
||||
}
|
||||
local_2038 = (HANDLE)0x0;
|
||||
HeapInformation = (undefined4 *)0x2000;
|
||||
memset(local_2030,0,0x2000);
|
||||
DVar3 = GetProcessHeaps(0x400,&local_2038);
|
||||
pcVar5 = (char *)0x4;
|
||||
if (DVar3 != 0) {
|
||||
ppvVar7 = &local_2038;
|
||||
uVar4 = (ulonglong)DVar3;
|
||||
do {
|
||||
local_res18[0] = 2;
|
||||
HeapInformation = local_res18;
|
||||
param_4 = pcVar5;
|
||||
HeapSetInformation(*ppvVar7,HeapCompatibilityInformation,HeapInformation,4);
|
||||
ppvVar7 = ppvVar7 + 1;
|
||||
uVar4 = uVar4 - 1;
|
||||
} while (uVar4 != 0);
|
||||
}
|
||||
_Handler = _set_invalid_parameter_handler(FUN_140001300);
|
||||
local_2100 = 0;
|
||||
local_20f8 = (void *)0x0;
|
||||
local_20f0 = 0;
|
||||
local_20e8 = 0;
|
||||
local_20d8 = 0;
|
||||
local_20d0 = 0;
|
||||
local_2108 = MagiMsgServer::vftable;
|
||||
local_20c8 = 1;
|
||||
local_20c0 = (undefined8 *)0x0;
|
||||
local_20b8 = 0;
|
||||
local_20b0 = 0;
|
||||
uVar4 = FUN_140079250();
|
||||
uVar4 = uVar4 & 0xffffffff;
|
||||
puVar9 = (undefined *)CONCAT71((int7)((ulonglong)HeapInformation >> 8),1);
|
||||
FUN_14006b270(local_2088,uVar4,puVar9,param_4);
|
||||
local_20a8 = 0;
|
||||
local_20a0 = 0;
|
||||
local_2098 = 0;
|
||||
local_2090 = 0;
|
||||
pWVar10 = (LPCWSTR)&DAT_1401b3540;
|
||||
if (7 < DAT_1401b3558) {
|
||||
pWVar10 = DAT_1401b3540;
|
||||
}
|
||||
FUN_1400047a0(pWVar10,uVar4,puVar9,param_4);
|
||||
FUN_140004f00((longlong)&local_2108,uVar4,puVar9,param_4);
|
||||
if (local_20c0 != (undefined8 *)0x0) {
|
||||
uVar4 = 1;
|
||||
(**(code **)*local_20c0)();
|
||||
}
|
||||
local_20c0 = (undefined8 *)0x0;
|
||||
if (DAT_1401bd040 != (undefined8 *)0x0) {
|
||||
uVar4 = 1;
|
||||
(**(code **)*DAT_1401bd040)();
|
||||
}
|
||||
if (DAT_1401bd030 != (undefined8 *)0x0) {
|
||||
uVar4 = 1;
|
||||
(**(code **)*DAT_1401bd030)();
|
||||
}
|
||||
puVar8 = DAT_1401ba9e8;
|
||||
EnterCriticalSection(DAT_1401bd028);
|
||||
_File = (FILE *)puVar8[0x17];
|
||||
if (_File != (FILE *)0x0) {
|
||||
fclose(_File);
|
||||
}
|
||||
puVar8 = puVar8 + 0x19;
|
||||
do {
|
||||
if ((FILE *)*puVar8 != (FILE *)0x0) {
|
||||
fclose((FILE *)*puVar8);
|
||||
}
|
||||
puVar8 = puVar8 + 1;
|
||||
pcVar5 = pcVar5 + -1;
|
||||
} while (pcVar5 != (char *)0x0);
|
||||
LeaveCriticalSection(DAT_1401bd028);
|
||||
if (DAT_1401ba9e8 != (undefined8 *)0x0) {
|
||||
uVar4 = 1;
|
||||
(**(code **)*DAT_1401ba9e8)();
|
||||
}
|
||||
if (DAT_1401ba9f0 != (undefined8 *)0x0) {
|
||||
uVar4 = 1;
|
||||
(**(code **)*DAT_1401ba9f0)();
|
||||
}
|
||||
_set_invalid_parameter_handler(_Handler);
|
||||
local_2108 = MagiMsgServer::vftable;
|
||||
FUN_14006b400(local_2088,uVar4,puVar9,param_4);
|
||||
local_2108 = MagiServerBase::vftable;
|
||||
if (local_20f8 != (void *)0x0) {
|
||||
operator_delete(local_20f8);
|
||||
}
|
||||
local_20f8 = (void *)0x0;
|
||||
local_20f0 = 0;
|
||||
local_20e8 = 0;
|
||||
}
|
||||
FUN_140009e10(&local_res20);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001630 FUN_140001630
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140001630(undefined8 *param_1)
|
||||
|
||||
{
|
||||
if (7 < (ulonglong)param_1[3]) {
|
||||
operator_delete((void *)*param_1);
|
||||
}
|
||||
param_1[3] = 7;
|
||||
param_1[2] = 0;
|
||||
*(undefined2 *)param_1 = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001660 FUN_140001660
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140001660(void)
|
||||
|
||||
{
|
||||
undefined8 *puVar1;
|
||||
|
||||
puVar1 = operator_new(0x458);
|
||||
if (puVar1 != (undefined8 *)0x0) {
|
||||
puVar1[2] = 0;
|
||||
*(undefined8 *)((longlong)puVar1 + 0x26) = 0;
|
||||
puVar1[3] = 0;
|
||||
*(undefined8 *)((longlong)puVar1 + 0x2e) = 0;
|
||||
*(undefined4 *)(puVar1 + 4) = 0;
|
||||
*(undefined4 *)((longlong)puVar1 + 0x36) = 0;
|
||||
*(undefined2 *)((longlong)puVar1 + 0x24) = 0;
|
||||
*(undefined2 *)((longlong)puVar1 + 0x3a) = 0;
|
||||
*puVar1 = CConsoleControl::vftable;
|
||||
puVar1[1] = 0xffffffffffffffff;
|
||||
*(undefined4 *)(puVar1 + 0x8a) = 0;
|
||||
memset((void *)((longlong)puVar1 + 0x3c),0,0x20a);
|
||||
memset((void *)((longlong)puVar1 + 0x246),0,0x20a);
|
||||
DAT_1401ba9f0 = puVar1;
|
||||
*(undefined2 *)((longlong)puVar1 + 0x454) = 0x17;
|
||||
return;
|
||||
}
|
||||
DAT_1401ba9f0 = (undefined8 *)0x0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001710 FUN_140001710
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 * FUN_140001710(undefined8 *param_1,byte param_2)
|
||||
|
||||
{
|
||||
DAT_1401ba9f0 = 0;
|
||||
*param_1 = MBISingleton<CConsoleControl>::vftable;
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001750 FUN_140001750
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
longlong * FUN_140001750(longlong *param_1,longlong *param_2,ulonglong param_3,ulonglong param_4)
|
||||
|
||||
{
|
||||
code *pcVar1;
|
||||
char cVar2;
|
||||
longlong *plVar3;
|
||||
ulonglong uVar4;
|
||||
|
||||
if (param_3 <= (ulonglong)param_2[2]) {
|
||||
uVar4 = param_2[2] - param_3;
|
||||
if (param_4 < uVar4) {
|
||||
uVar4 = param_4;
|
||||
}
|
||||
if (param_1 == param_2) {
|
||||
FUN_140001920(param_1,uVar4 + param_3,0xffffffffffffffff);
|
||||
FUN_140001920(param_1,0,param_3);
|
||||
}
|
||||
else {
|
||||
cVar2 = FUN_1400019c0(param_1,uVar4);
|
||||
if (cVar2 != '\0') {
|
||||
if (7 < (ulonglong)param_2[3]) {
|
||||
param_2 = (longlong *)*param_2;
|
||||
}
|
||||
plVar3 = param_1;
|
||||
if (7 < (ulonglong)param_1[3]) {
|
||||
plVar3 = (longlong *)*param_1;
|
||||
}
|
||||
memcpy(plVar3,(void *)((longlong)param_2 + param_3 * 2),uVar4 * 2);
|
||||
param_1[2] = uVar4;
|
||||
plVar3 = param_1;
|
||||
if (7 < (ulonglong)param_1[3]) {
|
||||
plVar3 = (longlong *)*param_1;
|
||||
}
|
||||
*(undefined2 *)((longlong)plVar3 + uVar4 * 2) = 0;
|
||||
}
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
std::_Xout_of_range("invalid string position");
|
||||
pcVar1 = (code *)swi(3);
|
||||
plVar3 = (longlong *)(*pcVar1)();
|
||||
return plVar3;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001830 FUN_140001830
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
ulonglong * FUN_140001830(ulonglong *param_1,void *param_2,ulonglong param_3)
|
||||
|
||||
{
|
||||
ulonglong uVar1;
|
||||
char cVar2;
|
||||
ulonglong *puVar3;
|
||||
|
||||
if (param_2 != (void *)0x0) {
|
||||
uVar1 = param_1[3];
|
||||
puVar3 = param_1;
|
||||
if (7 < uVar1) {
|
||||
puVar3 = (ulonglong *)*param_1;
|
||||
}
|
||||
if (puVar3 <= param_2) {
|
||||
puVar3 = param_1;
|
||||
if (7 < uVar1) {
|
||||
puVar3 = (ulonglong *)*param_1;
|
||||
}
|
||||
if (param_2 < (void *)((longlong)puVar3 + param_1[2] * 2)) {
|
||||
puVar3 = param_1;
|
||||
if (7 < uVar1) {
|
||||
puVar3 = (ulonglong *)*param_1;
|
||||
}
|
||||
puVar3 = (ulonglong *)
|
||||
FUN_140001750((longlong *)param_1,(longlong *)param_1,
|
||||
(longlong)param_2 - (longlong)puVar3 >> 1,param_3);
|
||||
return puVar3;
|
||||
}
|
||||
}
|
||||
}
|
||||
cVar2 = FUN_1400019c0(param_1,param_3);
|
||||
if (cVar2 != '\0') {
|
||||
puVar3 = param_1;
|
||||
if (7 < param_1[3]) {
|
||||
puVar3 = (ulonglong *)*param_1;
|
||||
}
|
||||
memcpy(puVar3,param_2,param_3 * 2);
|
||||
param_1[2] = param_3;
|
||||
puVar3 = param_1;
|
||||
if (7 < param_1[3]) {
|
||||
puVar3 = (ulonglong *)*param_1;
|
||||
}
|
||||
*(undefined2 *)(param_3 * 2 + (longlong)puVar3) = 0;
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001920 FUN_140001920
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 * FUN_140001920(undefined8 *param_1,ulonglong param_2,ulonglong param_3)
|
||||
|
||||
{
|
||||
longlong lVar1;
|
||||
code *pcVar2;
|
||||
undefined8 *puVar3;
|
||||
undefined8 *puVar4;
|
||||
ulonglong uVar5;
|
||||
|
||||
if ((ulonglong)param_1[2] < param_2) {
|
||||
std::_Xout_of_range("invalid string position");
|
||||
pcVar2 = (code *)swi(3);
|
||||
puVar3 = (undefined8 *)(*pcVar2)();
|
||||
return puVar3;
|
||||
}
|
||||
uVar5 = param_1[2] - param_2;
|
||||
if (uVar5 < param_3) {
|
||||
param_3 = uVar5;
|
||||
}
|
||||
if (param_3 != 0) {
|
||||
puVar4 = param_1;
|
||||
puVar3 = param_1;
|
||||
if (7 < (ulonglong)param_1[3]) {
|
||||
puVar4 = (undefined8 *)*param_1;
|
||||
puVar3 = (undefined8 *)*param_1;
|
||||
}
|
||||
memmove((void *)((longlong)puVar4 + param_2 * 2),
|
||||
(void *)((longlong)puVar3 + (param_2 + param_3) * 2),(uVar5 - param_3) * 2);
|
||||
lVar1 = param_1[2];
|
||||
param_1[2] = lVar1 - param_3;
|
||||
puVar3 = param_1;
|
||||
if (7 < (ulonglong)param_1[3]) {
|
||||
puVar3 = (undefined8 *)*param_1;
|
||||
}
|
||||
*(undefined2 *)((longlong)puVar3 + (lVar1 - param_3) * 2) = 0;
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400019c0 FUN_1400019c0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined1 FUN_1400019c0(undefined8 *param_1,ulonglong param_2)
|
||||
|
||||
{
|
||||
code *pcVar1;
|
||||
undefined1 uVar2;
|
||||
|
||||
if (0x7ffffffffffffffe < param_2) {
|
||||
std::_Xlength_error("string too long");
|
||||
pcVar1 = (code *)swi(3);
|
||||
uVar2 = (*pcVar1)();
|
||||
return uVar2;
|
||||
}
|
||||
if ((ulonglong)param_1[3] < param_2) {
|
||||
FUN_140001a40(param_1,param_2,param_1[2]);
|
||||
return param_2 != 0;
|
||||
}
|
||||
if (param_2 == 0) {
|
||||
param_1[2] = 0;
|
||||
if (7 < (ulonglong)param_1[3]) {
|
||||
param_1 = (undefined8 *)*param_1;
|
||||
}
|
||||
*(undefined2 *)param_1 = 0;
|
||||
}
|
||||
return param_2 != 0;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001a40 FUN_140001a40
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140001a40(undefined8 *param_1,ulonglong param_2,longlong param_3)
|
||||
|
||||
{
|
||||
ulonglong uVar1;
|
||||
undefined8 *_Dst;
|
||||
ulonglong uVar2;
|
||||
undefined8 *_Src;
|
||||
ulonglong uVar3;
|
||||
|
||||
uVar3 = param_2 | 7;
|
||||
if (uVar3 < 0x7fffffffffffffff) {
|
||||
uVar1 = param_1[3];
|
||||
uVar2 = uVar1 >> 1;
|
||||
param_2 = uVar3;
|
||||
if ((uVar3 / 3 < uVar2) && (param_2 = uVar2 + uVar1, 0x7ffffffffffffffe - uVar2 < uVar1)) {
|
||||
param_2 = 0x7ffffffffffffffe;
|
||||
}
|
||||
}
|
||||
_Dst = FUN_140001b30(param_2 + 1);
|
||||
if (param_3 != 0) {
|
||||
_Src = param_1;
|
||||
if (7 < (ulonglong)param_1[3]) {
|
||||
_Src = (undefined8 *)*param_1;
|
||||
}
|
||||
memcpy(_Dst,_Src,param_3 * 2);
|
||||
}
|
||||
if (7 < (ulonglong)param_1[3]) {
|
||||
operator_delete((void *)*param_1);
|
||||
}
|
||||
*param_1 = _Dst;
|
||||
param_1[3] = param_2;
|
||||
param_1[2] = param_3;
|
||||
if (7 < param_2) {
|
||||
param_1 = _Dst;
|
||||
}
|
||||
*(undefined2 *)((longlong)param_1 + param_3 * 2) = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001b30 FUN_140001b30
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void * FUN_140001b30(ulonglong param_1)
|
||||
|
||||
{
|
||||
void *pvVar1;
|
||||
char *local_res8 [4];
|
||||
undefined **local_28 [5];
|
||||
|
||||
if (param_1 == 0) {
|
||||
return (void *)0x0;
|
||||
}
|
||||
if ((param_1 < 0x8000000000000000) && (pvVar1 = operator_new(param_1 * 2), pvVar1 != (void *)0x0))
|
||||
{
|
||||
return pvVar1;
|
||||
}
|
||||
local_res8[0] = (char *)0x0;
|
||||
std::exception::exception((exception *)local_28,local_res8);
|
||||
local_28[0] = std::bad_alloc::vftable;
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_28,(ThrowInfo *)&DAT_1401a9330);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001ba0 FUN_140001ba0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140001ba0(wchar_t *param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
undefined8 local_res18;
|
||||
undefined8 local_res20;
|
||||
|
||||
local_res18 = param_3;
|
||||
local_res20 = param_4;
|
||||
vswprintf_s(param_1,0x104,param_2,(va_list)&local_res18);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001bd0 FUN_140001bd0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140001bd0(wchar_t *param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
undefined8 local_res18;
|
||||
undefined8 local_res20;
|
||||
|
||||
local_res18 = param_3;
|
||||
local_res20 = param_4;
|
||||
vswprintf_s(param_1,0x105,param_2,(va_list)&local_res18);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001c00 FUN_140001c00
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
exception * FUN_140001c00(exception *param_1,exception *param_2)
|
||||
|
||||
{
|
||||
std::exception::exception(param_1,param_2);
|
||||
*(undefined ***)param_1 = std::bad_alloc::vftable;
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001c30 FUN_140001c30
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 * FUN_140001c30(undefined8 *param_1,uint param_2)
|
||||
|
||||
{
|
||||
*param_1 = MagiServerBase::vftable;
|
||||
if ((void *)param_1[2] != (void *)0x0) {
|
||||
operator_delete((void *)param_1[2]);
|
||||
}
|
||||
param_1[2] = 0;
|
||||
param_1[3] = 0;
|
||||
param_1[4] = 0;
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001c90 FUN_140001c90
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140001c90(undefined8 *param_1)
|
||||
|
||||
{
|
||||
*param_1 = MagiServerBase::vftable;
|
||||
if ((void *)param_1[2] != (void *)0x0) {
|
||||
operator_delete((void *)param_1[2]);
|
||||
}
|
||||
param_1[2] = 0;
|
||||
param_1[3] = 0;
|
||||
param_1[4] = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001cd0 FUN_140001cd0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140001cd0(longlong param_1,undefined8 param_2)
|
||||
|
||||
{
|
||||
ulonglong *puVar1;
|
||||
undefined8 *puVar2;
|
||||
undefined8 *puVar3;
|
||||
undefined8 local_res10 [3];
|
||||
|
||||
puVar2 = *(undefined8 **)(param_1 + 0x18);
|
||||
puVar1 = (ulonglong *)(param_1 + 0x10);
|
||||
local_res10[0] = param_2;
|
||||
if ((local_res10 < puVar2) && (puVar3 = (undefined8 *)*puVar1, puVar3 <= local_res10)) {
|
||||
if (puVar2 == *(undefined8 **)(param_1 + 0x20)) {
|
||||
FUN_14000fff0((longlong *)puVar1);
|
||||
}
|
||||
if (*(undefined8 **)(param_1 + 0x18) != (undefined8 *)0x0) {
|
||||
**(undefined8 **)(param_1 + 0x18) =
|
||||
*(undefined8 *)(*puVar1 + ((longlong)local_res10 - (longlong)puVar3 >> 3) * 8);
|
||||
*(longlong *)(param_1 + 0x18) = *(longlong *)(param_1 + 0x18) + 8;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (puVar2 == *(undefined8 **)(param_1 + 0x20)) {
|
||||
FUN_14000fff0((longlong *)puVar1);
|
||||
}
|
||||
if (*(undefined8 **)(param_1 + 0x18) != (undefined8 *)0x0) {
|
||||
**(undefined8 **)(param_1 + 0x18) = param_2;
|
||||
}
|
||||
}
|
||||
*(longlong *)(param_1 + 0x18) = *(longlong *)(param_1 + 0x18) + 8;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001d70 FUN_140001d70
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140001d70(longlong param_1)
|
||||
|
||||
{
|
||||
FUN_140001e60(param_1,0x15);
|
||||
FUN_140001e60(param_1,0xd);
|
||||
FUN_140001e60(param_1,0xc);
|
||||
FUN_140001e60(param_1,0x11);
|
||||
FUN_140001e60(param_1,0x12);
|
||||
FUN_140001e60(param_1,0x13);
|
||||
FUN_140001e60(param_1,10);
|
||||
FUN_140001e60(param_1,6);
|
||||
FUN_140001e60(param_1,0xb);
|
||||
FUN_140001e60(param_1,9);
|
||||
FUN_140001e60(param_1,7);
|
||||
FUN_140001e60(param_1,8);
|
||||
FUN_140001e60(param_1,5);
|
||||
FUN_140001e60(param_1,1);
|
||||
FUN_140001e60(param_1,2);
|
||||
FUN_140001e60(param_1,3);
|
||||
/* WARNING: Could not recover jumptable at 0x000140001e52. Too many branches */
|
||||
/* WARNING: Treating indirect jump as call */
|
||||
wprintf(L"\n------------------------------------------------------------------------------\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001e60 FUN_140001e60
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140001e60(longlong param_1,uint param_2)
|
||||
|
||||
{
|
||||
int iVar1;
|
||||
longlong *plVar2;
|
||||
ulonglong uVar3;
|
||||
ulonglong uVar4;
|
||||
ulonglong uVar5;
|
||||
longlong lVar6;
|
||||
ulonglong uVar7;
|
||||
|
||||
uVar3 = 0;
|
||||
iVar1 = (int)(*(longlong *)(param_1 + 0x18) - *(longlong *)(param_1 + 0x10) >> 3);
|
||||
if (0 < iVar1) {
|
||||
plVar2 = *(longlong **)(param_1 + 0x10);
|
||||
uVar4 = uVar3;
|
||||
uVar5 = uVar3;
|
||||
lVar6 = (longlong)iVar1;
|
||||
uVar7 = uVar3;
|
||||
do {
|
||||
if ((*plVar2 != 0) && (*(byte *)(*plVar2 + 0x40) == param_2)) {
|
||||
uVar5 = (ulonglong)((int)uVar5 + 1);
|
||||
uVar7 = uVar4;
|
||||
}
|
||||
uVar4 = (ulonglong)((int)uVar4 + 1);
|
||||
plVar2 = plVar2 + 1;
|
||||
lVar6 = lVar6 + -1;
|
||||
} while (lVar6 != 0);
|
||||
if ((int)uVar5 != 0) {
|
||||
uVar4 = uVar3;
|
||||
if ((int)uVar5 < 2) {
|
||||
FUN_140002690((*(longlong **)(param_1 + 0x10))[(int)uVar7],-1);
|
||||
}
|
||||
else {
|
||||
do {
|
||||
if ((*(longlong *)(*(longlong *)(param_1 + 0x10) + uVar3 * 8) != 0) &&
|
||||
(lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x10) + uVar3 * 8),
|
||||
*(byte *)(lVar6 + 0x40) == param_2)) {
|
||||
FUN_140002690(lVar6,(int)uVar4);
|
||||
uVar4 = (ulonglong)((int)uVar4 + 1);
|
||||
}
|
||||
uVar3 = uVar3 + 1;
|
||||
} while ((longlong)uVar3 < (longlong)iVar1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001f40 FUN_140001f40
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 *
|
||||
FUN_140001f40(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
*(undefined2 *)(param_1 + 1) = 0;
|
||||
*param_1 = MagiCommonSession::vftable;
|
||||
param_1[2] = 0;
|
||||
*(undefined4 *)(param_1 + 3) = 0x1000001;
|
||||
*(undefined1 *)((longlong)param_1 + 0x1c) = 1;
|
||||
param_1[4] = 0;
|
||||
param_1[5] = 0x4008000000000000;
|
||||
FUN_14006cb70(param_1,param_2,param_3,param_4);
|
||||
param_1[6] = PTR_DAT_1401ac010;
|
||||
*(undefined8 *)((longlong)param_1 + 0x3c) = 0;
|
||||
if ((DAT_1401bd4f4 & 1) == 0) {
|
||||
DAT_1401bd4f4 = DAT_1401bd4f4 | 1;
|
||||
FUN_14011b100();
|
||||
atexit((_func_5014 *)&LAB_14012f3d0);
|
||||
}
|
||||
if (DAT_1401bd4a0 == 1000) {
|
||||
*(undefined1 *)((longlong)param_1 + 0x1c) = 0;
|
||||
param_1[5] = 0x4024000000000000;
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002000 FUN_140002000
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 *
|
||||
FUN_140002000(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
*param_1 = MagiCommonSession::vftable;
|
||||
FUN_1400031e0(param_1 + 6,param_2,param_3,param_4);
|
||||
*param_1 = Proud::INetClientEvent::vftable;
|
||||
FUN_1400780b0(param_1);
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002060 FUN_140002060
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140002060(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
*param_1 = MagiCommonSession::vftable;
|
||||
FUN_1400031e0(param_1 + 6,param_2,param_3,param_4);
|
||||
*param_1 = Proud::INetClientEvent::vftable;
|
||||
FUN_1400780b0(param_1);
|
||||
return;
|
||||
}
|
||||
|
||||
108
decomp/MessageServer_Release_x64/full/functions/0x1400020b0.c
Normal file
108
decomp/MessageServer_Release_x64/full/functions/0x1400020b0.c
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400020b0 FUN_1400020b0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
||||
|
||||
void FUN_1400020b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
char cVar1;
|
||||
undefined *puVar2;
|
||||
int *piVar3;
|
||||
int *piVar4;
|
||||
undefined **ppuVar5;
|
||||
int *piVar6;
|
||||
undefined8 *puVar7;
|
||||
undefined *puVar8;
|
||||
undefined1 auStack_b8 [32];
|
||||
int *local_98;
|
||||
undefined1 local_90;
|
||||
int *local_88;
|
||||
undefined1 local_80;
|
||||
undefined8 local_78;
|
||||
undefined *local_68;
|
||||
undefined2 local_60;
|
||||
undefined4 local_5c;
|
||||
undefined4 local_58;
|
||||
undefined4 local_54;
|
||||
undefined4 local_50;
|
||||
undefined8 local_48 [6];
|
||||
ulonglong local_18;
|
||||
|
||||
local_78 = 0xfffffffffffffffe;
|
||||
local_18 = DAT_1401ac5a0 ^ (ulonglong)auStack_b8;
|
||||
puVar2 = *(undefined **)(param_1 + 0x30);
|
||||
if ((((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1401ac010)) &&
|
||||
(0 < *(int *)(puVar2 + -8))) &&
|
||||
(((*(char *)(param_1 + 0x18) != '\0' && (*(char *)(param_1 + 0x19) == '\0')) &&
|
||||
((*(char *)(param_1 + 0x1a) == '\0' && (*(longlong *)(param_1 + 0x10) != 0)))))) {
|
||||
*(undefined2 *)(param_1 + 0x19) = 1;
|
||||
ppuVar5 = &local_68;
|
||||
FUN_1400780f0(ppuVar5,param_2,param_3,param_4);
|
||||
local_5c = DAT_1401bcff0;
|
||||
local_58 = _DAT_1401bcff4;
|
||||
local_54 = _DAT_1401bcff8;
|
||||
local_50 = _DAT_1401bcffc;
|
||||
if (local_68 == (undefined *)0x0) {
|
||||
local_68 = PTR_DAT_1401ac010;
|
||||
}
|
||||
if (*(undefined **)(param_1 + 0x30) != local_68) {
|
||||
piVar3 = (int *)FUN_14006cb70(ppuVar5,param_2,param_3,param_4);
|
||||
piVar6 = piVar3;
|
||||
local_88 = piVar3;
|
||||
FUN_14006b350(piVar3);
|
||||
puVar2 = local_68;
|
||||
local_80 = 1;
|
||||
if (((local_68 != (undefined *)0x0) && (local_68 != PTR_DAT_1401ac010)) &&
|
||||
(puVar8 = local_68 + -8, puVar8 != (undefined *)0x0)) {
|
||||
piVar4 = (int *)FUN_14006cb70(piVar6,param_2,param_3,param_4);
|
||||
local_98 = piVar4;
|
||||
FUN_14006b350(piVar4);
|
||||
local_90 = 1;
|
||||
piVar6 = (int *)(puVar2 + -4);
|
||||
*piVar6 = *piVar6 + -1;
|
||||
if (*piVar6 == 0) {
|
||||
FUN_14006cc60(puVar8);
|
||||
}
|
||||
FUN_14006b3e0((longlong)piVar4);
|
||||
}
|
||||
local_68 = *(undefined **)(param_1 + 0x30);
|
||||
if (((local_68 != PTR_DAT_1401ac010) && (local_68 != (undefined *)0x0)) &&
|
||||
(local_68 != (undefined *)0x8)) {
|
||||
*(int *)(local_68 + -4) = *(int *)(local_68 + -4) + 1;
|
||||
}
|
||||
FUN_14006b3e0((longlong)piVar3);
|
||||
}
|
||||
local_60 = *(undefined2 *)(param_1 + 0x38);
|
||||
(**(code **)(**(longlong **)(param_1 + 0x10) + 0x88))();
|
||||
ppuVar5 = &local_68;
|
||||
(**(code **)(**(longlong **)(param_1 + 0x10) + 0x78))();
|
||||
cVar1 = *(char *)(param_1 + 0x19);
|
||||
while (cVar1 != '\0') {
|
||||
Sleep(10);
|
||||
ppuVar5 = (undefined **)0x0;
|
||||
(**(code **)(**(longlong **)(param_1 + 0x10) + 0x98))();
|
||||
cVar1 = *(char *)(param_1 + 0x19);
|
||||
}
|
||||
puVar7 = local_48;
|
||||
FUN_140078360(puVar7);
|
||||
puVar2 = local_68;
|
||||
if (((local_68 != (undefined *)0x0) && (local_68 != PTR_DAT_1401ac010)) &&
|
||||
(puVar8 = local_68 + -8, puVar8 != (undefined *)0x0)) {
|
||||
piVar3 = (int *)FUN_14006cb70(puVar7,ppuVar5,param_3,param_4);
|
||||
local_98 = piVar3;
|
||||
FUN_14006b350(piVar3);
|
||||
local_90 = 1;
|
||||
piVar6 = (int *)(puVar2 + -4);
|
||||
*piVar6 = *piVar6 + -1;
|
||||
if (*piVar6 == 0) {
|
||||
FUN_14006cc60(puVar8);
|
||||
}
|
||||
FUN_14006b3e0((longlong)piVar3);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400022e0 FUN_1400022e0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400022e0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
FUN_140078360(param_1 + 4);
|
||||
FUN_1400031e0(param_1,param_2,param_3,param_4);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002310 FUN_140002310
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
ulonglong FUN_140002310(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
char cVar1;
|
||||
int iVar2;
|
||||
undefined8 uVar3;
|
||||
undefined4 extraout_var_00;
|
||||
ulonglong uVar4;
|
||||
double dVar5;
|
||||
__time64_t local_res8;
|
||||
__time64_t local_res18 [2];
|
||||
uint7 extraout_var;
|
||||
|
||||
_time64(&local_res8);
|
||||
do {
|
||||
(**(code **)(**(longlong **)(param_1 + 0x10) + 0x88))();
|
||||
*(undefined2 *)(param_1 + 0x1a) = 0x100;
|
||||
*(undefined1 *)(param_1 + 0x19) = 1;
|
||||
uVar3 = (**(code **)(**(longlong **)(param_1 + 0x10) + 0x78))
|
||||
(*(longlong **)(param_1 + 0x10),param_2);
|
||||
if ((char)uVar3 == '\x01') {
|
||||
cVar1 = *(char *)(param_1 + 0x19);
|
||||
while (cVar1 != '\0') {
|
||||
Sleep(10);
|
||||
uVar3 = (**(code **)(**(longlong **)(param_1 + 0x10) + 0x98))
|
||||
(*(longlong **)(param_1 + 0x10),0);
|
||||
cVar1 = *(char *)(param_1 + 0x19);
|
||||
}
|
||||
if (*(char *)(param_1 + 0x1a) == '\x01') {
|
||||
return CONCAT71((int7)((ulonglong)uVar3 >> 8),1);
|
||||
}
|
||||
}
|
||||
uVar4 = (ulonglong)DAT_1401bd4f4;
|
||||
if ((DAT_1401bd4f4 & 1) == 0) {
|
||||
DAT_1401bd4f4 = DAT_1401bd4f4 | 1;
|
||||
FUN_14011b100();
|
||||
iVar2 = atexit((_func_5014 *)&LAB_14012f3d0);
|
||||
uVar4 = CONCAT44(extraout_var_00,iVar2);
|
||||
}
|
||||
if (DAT_1401bd4a0 == 1000) goto LAB_140002418;
|
||||
_time64(local_res18);
|
||||
dVar5 = _difftime64(local_res18[0],local_res8);
|
||||
} while (((int)dVar5 < 300) && (Sleep(1), *(char *)(param_1 + 0x1a) == '\0'));
|
||||
FUN_14000aa90(4,L"ERROR >> MagiCommonSession::ProcConnect | Time over!",param_3,param_4);
|
||||
uVar4 = (ulonglong)extraout_var << 8;
|
||||
LAB_140002418:
|
||||
return uVar4 & 0xffffffffffffff00;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002430 FUN_140002430
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
void FUN_140002430(longlong param_1)
|
||||
|
||||
{
|
||||
undefined2 *puVar1;
|
||||
undefined *puVar2;
|
||||
ulonglong uVar3;
|
||||
undefined1 auStack_68 [32];
|
||||
undefined8 local_48;
|
||||
undefined2 local_40;
|
||||
undefined6 uStack_3e;
|
||||
undefined8 local_30;
|
||||
ulonglong local_28;
|
||||
ulonglong local_18;
|
||||
|
||||
local_48 = 0xfffffffffffffffe;
|
||||
local_18 = DAT_1401ac5a0 ^ (ulonglong)auStack_68;
|
||||
puVar2 = *(undefined **)(param_1 + 0x30);
|
||||
if ((((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1401ac010)) &&
|
||||
(0 < *(int *)(puVar2 + -8))) && (*(char *)(param_1 + 0x18) != '\0')) {
|
||||
if (*(char *)(param_1 + 0x1b) == '\0') {
|
||||
if ((*(char *)(param_1 + 0x1a) != '\0') && (*(longlong *)(param_1 + 0x10) != 0)) {
|
||||
(**(code **)(**(longlong **)(param_1 + 0x10) + 0x98))(*(longlong **)(param_1 + 0x10),0);
|
||||
}
|
||||
}
|
||||
else if (*(char *)(param_1 + 0x1c) != '\0') {
|
||||
Sleep((DWORD)(longlong)*(double *)(param_1 + 0x28));
|
||||
local_28 = 7;
|
||||
local_30 = 0;
|
||||
local_40 = 0;
|
||||
FUN_140002930(param_1,(ulonglong *)&local_40);
|
||||
puVar2 = *(undefined **)(param_1 + 0x30);
|
||||
if (*(undefined **)(param_1 + 0x30) == (undefined *)0x0) {
|
||||
puVar2 = PTR_DAT_1401ac010;
|
||||
}
|
||||
puVar1 = &local_40;
|
||||
if (7 < local_28) {
|
||||
puVar1 = (undefined2 *)CONCAT62(uStack_3e,local_40);
|
||||
}
|
||||
uVar3 = (ulonglong)*(ushort *)(param_1 + 0x38);
|
||||
wprintf(L"%s : RETRY CONNECT : IP[ %s ] PORT[ %d ]\n");
|
||||
FUN_1400020b0(param_1,puVar1,puVar2,uVar3);
|
||||
if (7 < local_28) {
|
||||
operator_delete((void *)CONCAT62(uStack_3e,local_40));
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002540 FUN_140002540
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
void FUN_140002540(longlong param_1,double param_2)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
undefined2 *puVar2;
|
||||
undefined *puVar3;
|
||||
ulonglong uVar4;
|
||||
double dVar5;
|
||||
undefined1 auStack_68 [32];
|
||||
undefined8 local_48;
|
||||
undefined2 local_40;
|
||||
undefined6 uStack_3e;
|
||||
undefined8 local_30;
|
||||
ulonglong local_28;
|
||||
ulonglong local_18;
|
||||
|
||||
local_48 = 0xfffffffffffffffe;
|
||||
local_18 = DAT_1401ac5a0 ^ (ulonglong)auStack_68;
|
||||
puVar3 = *(undefined **)(param_1 + 0x30);
|
||||
if (((puVar3 != (undefined *)0x0) && (puVar3 != PTR_DAT_1401ac010)) && (0 < *(int *)(puVar3 + -8))
|
||||
) {
|
||||
if (*(char *)(param_1 + 0x18) == '\0') {
|
||||
if (*(char *)(param_1 + 0x1a) != '\0') {
|
||||
plVar1 = *(longlong **)(param_1 + 0x10);
|
||||
if (plVar1 != (longlong *)0x0) {
|
||||
(**(code **)(*plVar1 + 0x98))(plVar1,0);
|
||||
}
|
||||
Sleep(100);
|
||||
}
|
||||
}
|
||||
else if (*(char *)(param_1 + 0x1b) == '\0') {
|
||||
if ((*(char *)(param_1 + 0x1a) != '\0') &&
|
||||
(plVar1 = *(longlong **)(param_1 + 0x10), plVar1 != (longlong *)0x0)) {
|
||||
(**(code **)(*plVar1 + 0x98))(plVar1,0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
dVar5 = param_2 - *(double *)(param_1 + 0x20);
|
||||
if ((*(double *)(param_1 + 0x28) <= dVar5 && dVar5 != *(double *)(param_1 + 0x28)) &&
|
||||
(*(double *)(param_1 + 0x20) = param_2, *(char *)(param_1 + 0x1c) != '\0')) {
|
||||
local_28 = 7;
|
||||
local_30 = 0;
|
||||
local_40 = 0;
|
||||
FUN_140002930(param_1,(ulonglong *)&local_40);
|
||||
puVar3 = *(undefined **)(param_1 + 0x30);
|
||||
if (*(undefined **)(param_1 + 0x30) == (undefined *)0x0) {
|
||||
puVar3 = PTR_DAT_1401ac010;
|
||||
}
|
||||
puVar2 = &local_40;
|
||||
if (7 < local_28) {
|
||||
puVar2 = (undefined2 *)CONCAT62(uStack_3e,local_40);
|
||||
}
|
||||
uVar4 = (ulonglong)*(ushort *)(param_1 + 0x38);
|
||||
wprintf(L"%s : RETRY CONNECT : ADDRESS[ %s ] PORT[ %d ]\n");
|
||||
FUN_1400020b0(param_1,puVar2,puVar3,uVar4);
|
||||
if (7 < local_28) {
|
||||
operator_delete((void *)CONCAT62(uStack_3e,local_40));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
131
decomp/MessageServer_Release_x64/full/functions/0x140002690.c
Normal file
131
decomp/MessageServer_Release_x64/full/functions/0x140002690.c
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002690 FUN_140002690
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
/* WARNING: Type propagation algorithm not settling */
|
||||
|
||||
void FUN_140002690(longlong param_1,int param_2)
|
||||
|
||||
{
|
||||
ulonglong uVar1;
|
||||
code *pcVar2;
|
||||
undefined2 *puVar3;
|
||||
undefined2 *puVar4;
|
||||
wchar_t *pwVar5;
|
||||
ulonglong uVar6;
|
||||
undefined1 auStack_e8 [32];
|
||||
uint local_c8;
|
||||
uint local_c0;
|
||||
undefined8 local_b8;
|
||||
ulonglong local_b0 [2];
|
||||
ulonglong local_a0;
|
||||
ulonglong local_98;
|
||||
undefined2 local_88;
|
||||
undefined6 uStack_86;
|
||||
undefined8 local_78;
|
||||
ulonglong local_70;
|
||||
ulonglong local_60 [2];
|
||||
ulonglong local_50;
|
||||
ulonglong local_48;
|
||||
ulonglong local_38;
|
||||
|
||||
local_b8 = 0xfffffffffffffffe;
|
||||
local_38 = DAT_1401ac5a0 ^ (ulonglong)auStack_e8;
|
||||
local_48 = 7;
|
||||
local_50 = 0;
|
||||
local_60[0]._0_2_ = 0;
|
||||
local_70 = 7;
|
||||
local_78 = 0;
|
||||
local_88 = 0;
|
||||
local_98 = 7;
|
||||
local_a0 = 0;
|
||||
local_b0[0]._0_2_ = 0;
|
||||
FUN_140002930(param_1,local_60);
|
||||
uVar6 = 0xffffffffffffffff;
|
||||
if (local_50 != 0xffffffffffffffff) {
|
||||
uVar6 = local_50;
|
||||
}
|
||||
if (-local_a0 - 1 <= uVar6) {
|
||||
std::_Xlength_error("string too long");
|
||||
pcVar2 = (code *)swi(3);
|
||||
(*pcVar2)();
|
||||
return;
|
||||
}
|
||||
if (uVar6 != 0) {
|
||||
uVar1 = local_a0 + uVar6;
|
||||
if (0x7ffffffffffffffe < uVar1) {
|
||||
std::_Xlength_error("string too long");
|
||||
pcVar2 = (code *)swi(3);
|
||||
(*pcVar2)();
|
||||
return;
|
||||
}
|
||||
if (local_98 < uVar1) {
|
||||
FUN_140001a40(local_b0,uVar1,local_a0);
|
||||
}
|
||||
else if (uVar1 == 0) {
|
||||
local_a0 = 0;
|
||||
puVar4 = (undefined2 *)local_b0;
|
||||
if (7 < local_98) {
|
||||
puVar4 = (undefined2 *)CONCAT62(local_b0[0]._2_6_,(undefined2)local_b0[0]);
|
||||
}
|
||||
*puVar4 = 0;
|
||||
}
|
||||
if (uVar1 != 0) {
|
||||
puVar4 = (undefined2 *)local_60;
|
||||
if (7 < local_48) {
|
||||
puVar4 = (undefined2 *)CONCAT62(local_60[0]._2_6_,(undefined2)local_60[0]);
|
||||
}
|
||||
puVar3 = (undefined2 *)local_b0;
|
||||
if (7 < local_98) {
|
||||
puVar3 = (undefined2 *)CONCAT62(local_b0[0]._2_6_,(undefined2)local_b0[0]);
|
||||
}
|
||||
memcpy(puVar3 + local_a0,puVar4,uVar6 * 2);
|
||||
puVar4 = (undefined2 *)local_b0;
|
||||
if (7 < local_98) {
|
||||
puVar4 = (undefined2 *)CONCAT62(local_b0[0]._2_6_,(undefined2)local_b0[0]);
|
||||
}
|
||||
local_a0 = uVar1;
|
||||
puVar4[uVar1] = 0;
|
||||
}
|
||||
}
|
||||
FUN_140002b60(local_b0,9);
|
||||
if (*(char *)(param_1 + 0x18) == '\0') {
|
||||
uVar6 = 10;
|
||||
pwVar5 = L"[ DisUse ]";
|
||||
}
|
||||
else {
|
||||
uVar6 = 7;
|
||||
pwVar5 = L"[ Use ]";
|
||||
}
|
||||
FUN_140001830((ulonglong *)&local_88,pwVar5,uVar6);
|
||||
if (param_2 < 1) {
|
||||
wprintf(L"\n-%s %s---------------------------------------------------------\n");
|
||||
}
|
||||
local_c8 = *(uint *)(param_1 + 0x3c);
|
||||
if (param_2 == -1) {
|
||||
wprintf(L"Session S[ %d ] : ADDRESS[ %s ] PORT[ %d ] CODE[ %d ]\n");
|
||||
}
|
||||
else {
|
||||
local_c0 = local_c8;
|
||||
local_c8 = (uint)*(ushort *)(param_1 + 0x38);
|
||||
wprintf(L"Session [%d] S[ %d ] : ADDRESS[ %s ] PORT[ %d ] CODE[ %d ]\n");
|
||||
}
|
||||
if (7 < local_98) {
|
||||
operator_delete((void *)CONCAT62(local_b0[0]._2_6_,(undefined2)local_b0[0]));
|
||||
}
|
||||
local_98 = 7;
|
||||
local_a0 = 0;
|
||||
local_b0[0]._0_2_ = 0;
|
||||
if (7 < local_70) {
|
||||
operator_delete((void *)CONCAT62(uStack_86,local_88));
|
||||
}
|
||||
local_70 = 7;
|
||||
local_78 = 0;
|
||||
local_88 = 0;
|
||||
if (7 < local_48) {
|
||||
operator_delete((void *)CONCAT62(local_60[0]._2_6_,(undefined2)local_60[0]));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002930 FUN_140002930
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140002930(longlong param_1,ulonglong *param_2)
|
||||
|
||||
{
|
||||
wchar_t *pwVar1;
|
||||
|
||||
switch(*(undefined1 *)(param_1 + 0x40)) {
|
||||
case 1:
|
||||
FUN_140001830(param_2,L"Lobby",5);
|
||||
return;
|
||||
case 2:
|
||||
FUN_140001830(param_2,L"Dungeon",7);
|
||||
return;
|
||||
case 3:
|
||||
FUN_140001830(param_2,&DAT_1401593d0,3);
|
||||
return;
|
||||
case 4:
|
||||
FUN_140001830(param_2,&DAT_1401593d8,3);
|
||||
return;
|
||||
case 5:
|
||||
FUN_140001830(param_2,L"Guild",5);
|
||||
return;
|
||||
case 6:
|
||||
FUN_140001830(param_2,L"Message",7);
|
||||
return;
|
||||
case 7:
|
||||
FUN_140001830(param_2,&DAT_140159400,2);
|
||||
return;
|
||||
case 8:
|
||||
FUN_140001830(param_2,L"Gate",4);
|
||||
return;
|
||||
case 9:
|
||||
FUN_140001830(param_2,L"Manager",7);
|
||||
return;
|
||||
case 10:
|
||||
FUN_140001830(param_2,L"Auction",7);
|
||||
return;
|
||||
case 0xb:
|
||||
FUN_140001830(param_2,L"Match",5);
|
||||
return;
|
||||
case 0xc:
|
||||
pwVar1 = L"DBC_GAME";
|
||||
break;
|
||||
case 0xd:
|
||||
FUN_140001830(param_2,L"Agent",5);
|
||||
return;
|
||||
default:
|
||||
goto switchD_140002959_caseD_d;
|
||||
case 0x11:
|
||||
FUN_140001830(param_2,L"DBC_LOG",7);
|
||||
return;
|
||||
case 0x12:
|
||||
pwVar1 = L"DBC_CHAT";
|
||||
break;
|
||||
case 0x13:
|
||||
FUN_140001830(param_2,L"DBC_EMERGENCY",0xd);
|
||||
return;
|
||||
case 0x15:
|
||||
FUN_140001830(param_2,L"Agentmanager",0xc);
|
||||
return;
|
||||
case 0x16:
|
||||
pwVar1 = L"MiniGame";
|
||||
}
|
||||
FUN_140001830(param_2,pwVar1,8);
|
||||
switchD_140002959_caseD_d:
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002b60 FUN_140002b60
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
ulonglong * FUN_140002b60(ulonglong *param_1,ulonglong param_2)
|
||||
|
||||
{
|
||||
ulonglong uVar1;
|
||||
code *pcVar2;
|
||||
char cVar3;
|
||||
ulonglong *puVar4;
|
||||
|
||||
uVar1 = param_1[3];
|
||||
puVar4 = param_1;
|
||||
if (7 < uVar1) {
|
||||
puVar4 = (ulonglong *)*param_1;
|
||||
}
|
||||
if (puVar4 < (ulonglong *)((longlong)L" Sessoion" + 1U)) {
|
||||
puVar4 = param_1;
|
||||
if (7 < uVar1) {
|
||||
puVar4 = (ulonglong *)*param_1;
|
||||
}
|
||||
if (L" Sessoion" < (wchar_t *)((longlong)puVar4 + param_1[2] * 2)) {
|
||||
puVar4 = param_1;
|
||||
if (7 < uVar1) {
|
||||
puVar4 = (ulonglong *)*param_1;
|
||||
}
|
||||
puVar4 = (ulonglong *)
|
||||
FUN_140002c70((longlong *)param_1,param_1,
|
||||
(longlong)L" Sessoion" - (longlong)puVar4 >> 1,param_2);
|
||||
return puVar4;
|
||||
}
|
||||
}
|
||||
if (param_2 < -param_1[2] - 1) {
|
||||
if (param_2 != 0) {
|
||||
uVar1 = param_1[2] + param_2;
|
||||
cVar3 = FUN_1400019c0(param_1,uVar1);
|
||||
if (cVar3 != '\0') {
|
||||
puVar4 = param_1;
|
||||
if (7 < param_1[3]) {
|
||||
puVar4 = (ulonglong *)*param_1;
|
||||
}
|
||||
memcpy((void *)((longlong)puVar4 + param_1[2] * 2),L" Sessoion",param_2 * 2);
|
||||
param_1[2] = uVar1;
|
||||
puVar4 = param_1;
|
||||
if (7 < param_1[3]) {
|
||||
puVar4 = (ulonglong *)*param_1;
|
||||
}
|
||||
*(undefined2 *)((longlong)puVar4 + uVar1 * 2) = 0;
|
||||
}
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
std::_Xlength_error("string too long");
|
||||
pcVar2 = (code *)swi(3);
|
||||
puVar4 = (ulonglong *)(*pcVar2)();
|
||||
return puVar4;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002c70 FUN_140002c70
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
longlong * FUN_140002c70(longlong *param_1,undefined8 *param_2,ulonglong param_3,ulonglong param_4)
|
||||
|
||||
{
|
||||
code *pcVar1;
|
||||
char cVar2;
|
||||
longlong *plVar3;
|
||||
ulonglong uVar4;
|
||||
|
||||
if ((ulonglong)param_2[2] < param_3) {
|
||||
std::_Xout_of_range("invalid string position");
|
||||
pcVar1 = (code *)swi(3);
|
||||
plVar3 = (longlong *)(*pcVar1)();
|
||||
return plVar3;
|
||||
}
|
||||
uVar4 = param_2[2] - param_3;
|
||||
if (uVar4 < param_4) {
|
||||
param_4 = uVar4;
|
||||
}
|
||||
if (param_4 < -param_1[2] - 1U) {
|
||||
if (param_4 != 0) {
|
||||
uVar4 = param_1[2] + param_4;
|
||||
cVar2 = FUN_1400019c0(param_1,uVar4);
|
||||
if (cVar2 != '\0') {
|
||||
if (7 < (ulonglong)param_2[3]) {
|
||||
param_2 = (undefined8 *)*param_2;
|
||||
}
|
||||
plVar3 = param_1;
|
||||
if (7 < (ulonglong)param_1[3]) {
|
||||
plVar3 = (longlong *)*param_1;
|
||||
}
|
||||
memcpy((void *)((longlong)plVar3 + param_1[2] * 2),(void *)((longlong)param_2 + param_3 * 2)
|
||||
,param_4 * 2);
|
||||
param_1[2] = uVar4;
|
||||
plVar3 = param_1;
|
||||
if (7 < (ulonglong)param_1[3]) {
|
||||
plVar3 = (longlong *)*param_1;
|
||||
}
|
||||
*(undefined2 *)((longlong)plVar3 + uVar4 * 2) = 0;
|
||||
}
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
std::_Xlength_error("string too long");
|
||||
pcVar1 = (code *)swi(3);
|
||||
plVar3 = (longlong *)(*pcVar1)();
|
||||
return plVar3;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002d60 FUN_140002d60
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140002d60(longlong *param_1,int param_2)
|
||||
|
||||
{
|
||||
undefined *puVar1;
|
||||
int *piVar2;
|
||||
int iVar3;
|
||||
undefined4 in_register_00000014;
|
||||
undefined *puVar4;
|
||||
undefined8 in_R8;
|
||||
ulonglong uVar5;
|
||||
undefined8 in_R9;
|
||||
|
||||
puVar4 = PTR_DAT_1401ac010;
|
||||
puVar1 = (undefined *)*param_1;
|
||||
if ((undefined *)*param_1 == (undefined *)0x0) {
|
||||
puVar1 = PTR_DAT_1401ac010;
|
||||
}
|
||||
*param_1 = (longlong)puVar1;
|
||||
if (param_2 < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14006be00();
|
||||
}
|
||||
if (param_2 == 0) {
|
||||
FUN_1400031e0(param_1,CONCAT44(in_register_00000014,param_2),in_R8,in_R9);
|
||||
return;
|
||||
}
|
||||
iVar3 = 0;
|
||||
if (puVar1 != (undefined *)0x0) {
|
||||
if (puVar1 == puVar4) {
|
||||
iVar3 = 0;
|
||||
}
|
||||
else {
|
||||
iVar3 = *(int *)(puVar1 + -8);
|
||||
}
|
||||
}
|
||||
if (param_2 != iVar3) {
|
||||
piVar2 = (int *)FUN_14006cbf0((longlong)param_2 * 2 + 10);
|
||||
if (piVar2 != (int *)0x0) {
|
||||
*piVar2 = 0;
|
||||
piVar2[1] = 1;
|
||||
}
|
||||
puVar1 = PTR_DAT_1401ac010;
|
||||
*piVar2 = param_2;
|
||||
puVar4 = (undefined *)*param_1;
|
||||
if (puVar4 == (undefined *)0x0) {
|
||||
iVar3 = 0;
|
||||
}
|
||||
else if (puVar4 == puVar1) {
|
||||
iVar3 = 0;
|
||||
}
|
||||
else {
|
||||
iVar3 = *(int *)(puVar4 + -8);
|
||||
}
|
||||
if (iVar3 <= param_2) {
|
||||
if ((puVar4 == (undefined *)0x0) || (puVar4 == puVar1)) {
|
||||
param_2 = 0;
|
||||
}
|
||||
else {
|
||||
param_2 = *(int *)(puVar4 + -8);
|
||||
}
|
||||
}
|
||||
if (puVar4 == (undefined *)0x0) {
|
||||
puVar4 = puVar1;
|
||||
}
|
||||
uVar5 = (ulonglong)(uint)param_2;
|
||||
FUN_14006ca20(piVar2 + 2,puVar4,param_2);
|
||||
FUN_1400031e0(param_1,puVar4,uVar5,in_R9);
|
||||
*param_1 = (longlong)(piVar2 + 2);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002e40 FUN_140002e40
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140002e40(longlong *param_1)
|
||||
|
||||
{
|
||||
int iVar1;
|
||||
undefined *puVar2;
|
||||
undefined8 *puVar3;
|
||||
uint *puVar4;
|
||||
uint uVar5;
|
||||
uint uVar6;
|
||||
undefined *puVar7;
|
||||
ulonglong uVar8;
|
||||
undefined8 in_R9;
|
||||
|
||||
puVar7 = (undefined *)*param_1;
|
||||
if (puVar7 == (undefined *)0x0) {
|
||||
*param_1 = (longlong)PTR_DAT_1401ac010;
|
||||
}
|
||||
else if ((puVar7 != PTR_DAT_1401ac010) && ((int *)(puVar7 + -8) != (int *)0x0)) {
|
||||
if (*(int *)(puVar7 + -4) < 2) {
|
||||
return;
|
||||
}
|
||||
iVar1 = *(int *)(puVar7 + -8);
|
||||
if (iVar1 < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14006be00();
|
||||
}
|
||||
puVar4 = (uint *)FUN_14006cbf0((longlong)iVar1 * 2 + 10);
|
||||
uVar5 = 0;
|
||||
if (puVar4 != (uint *)0x0) {
|
||||
*puVar4 = 0;
|
||||
puVar4[1] = 1;
|
||||
}
|
||||
puVar2 = PTR_DAT_1401ac010;
|
||||
puVar7 = (undefined *)*param_1;
|
||||
if (puVar7 == (undefined *)0x0) {
|
||||
uVar6 = 0;
|
||||
}
|
||||
else {
|
||||
uVar6 = uVar5;
|
||||
if (puVar7 != PTR_DAT_1401ac010) {
|
||||
uVar6 = *(uint *)(puVar7 + -8);
|
||||
}
|
||||
}
|
||||
*puVar4 = uVar6;
|
||||
puVar7 = (undefined *)*param_1;
|
||||
if ((puVar7 != (undefined *)0x0) && (puVar7 != puVar2)) {
|
||||
uVar5 = *(uint *)(puVar7 + -8);
|
||||
}
|
||||
if (puVar7 == (undefined *)0x0) {
|
||||
puVar7 = puVar2;
|
||||
}
|
||||
uVar8 = (ulonglong)uVar5;
|
||||
FUN_14006ca20(puVar4 + 2,puVar7,uVar5);
|
||||
FUN_1400031e0(param_1,puVar7,uVar8,in_R9);
|
||||
*param_1 = (longlong)(puVar4 + 2);
|
||||
return;
|
||||
}
|
||||
puVar3 = (undefined8 *)FUN_14006cbf0(10);
|
||||
*puVar3 = 0;
|
||||
*(undefined2 *)(puVar3 + 1) = 0;
|
||||
if (puVar3 != (undefined8 *)0x0) {
|
||||
*(undefined4 *)puVar3 = 0;
|
||||
*(undefined4 *)((longlong)puVar3 + 4) = 1;
|
||||
}
|
||||
*(undefined2 *)(puVar3 + 1) = 0;
|
||||
*param_1 = (longlong)(puVar3 + 1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002f30 FUN_140002f30
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined * FUN_140002f30(longlong *param_1,int param_2)
|
||||
|
||||
{
|
||||
int iVar1;
|
||||
undefined *puVar2;
|
||||
int iVar3;
|
||||
|
||||
puVar2 = (undefined *)*param_1;
|
||||
iVar3 = 0;
|
||||
if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1401ac010)) {
|
||||
iVar3 = *(int *)(puVar2 + -8);
|
||||
}
|
||||
if (((param_2 <= iVar3) && (param_2 = 0, puVar2 != (undefined *)0x0)) &&
|
||||
(puVar2 != PTR_DAT_1401ac010)) {
|
||||
param_2 = *(int *)(puVar2 + -8);
|
||||
}
|
||||
iVar3 = 1;
|
||||
if (1 < param_2) {
|
||||
iVar3 = param_2;
|
||||
}
|
||||
iVar1 = 0;
|
||||
if ((puVar2 != (undefined *)0x0) && (iVar1 = 0, puVar2 != PTR_DAT_1401ac010)) {
|
||||
iVar1 = *(int *)(puVar2 + -8);
|
||||
}
|
||||
if (iVar1 < iVar3) {
|
||||
FUN_140002d60(param_1,iVar3);
|
||||
}
|
||||
FUN_140002e40(param_1);
|
||||
puVar2 = (undefined *)*param_1;
|
||||
if ((undefined *)*param_1 == (undefined *)0x0) {
|
||||
puVar2 = PTR_DAT_1401ac010;
|
||||
}
|
||||
return puVar2;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140002fb0 FUN_140002fb0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140002fb0(longlong *param_1,int param_2)
|
||||
|
||||
{
|
||||
undefined *puVar1;
|
||||
int iVar2;
|
||||
int iVar3;
|
||||
|
||||
puVar1 = (undefined *)*param_1;
|
||||
iVar3 = 0;
|
||||
if (0 < param_2) {
|
||||
iVar3 = param_2;
|
||||
}
|
||||
iVar2 = 0;
|
||||
if ((puVar1 != (undefined *)0x0) && (iVar2 = 0, puVar1 != PTR_DAT_1401ac010)) {
|
||||
iVar2 = *(int *)(puVar1 + -8);
|
||||
}
|
||||
if ((iVar2 <= iVar3) && (iVar3 = 0, puVar1 != (undefined *)0x0)) {
|
||||
if (puVar1 == PTR_DAT_1401ac010) {
|
||||
return;
|
||||
}
|
||||
iVar3 = *(int *)(puVar1 + -8);
|
||||
}
|
||||
if (((puVar1 != PTR_DAT_1401ac010) && (puVar1 != (undefined *)0x0)) &&
|
||||
((int *)(puVar1 + -8) != (int *)0x0)) {
|
||||
*(int *)(puVar1 + -8) = iVar3;
|
||||
*(undefined2 *)(puVar1 + (longlong)iVar3 * 2) = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003010 FUN_140003010
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003010(longlong *param_1)
|
||||
|
||||
{
|
||||
undefined *puVar1;
|
||||
int iVar2;
|
||||
int iVar3;
|
||||
short *psVar4;
|
||||
|
||||
psVar4 = (short *)*param_1;
|
||||
if ((short *)*param_1 == (short *)0x0) {
|
||||
psVar4 = (short *)PTR_DAT_1401ac010;
|
||||
}
|
||||
iVar2 = FUN_14006c9f0(psVar4);
|
||||
iVar3 = 0;
|
||||
if (0 < iVar2) {
|
||||
iVar3 = iVar2;
|
||||
}
|
||||
puVar1 = (undefined *)*param_1;
|
||||
iVar2 = 0;
|
||||
if ((puVar1 != (undefined *)0x0) && (iVar2 = 0, puVar1 != PTR_DAT_1401ac010)) {
|
||||
iVar2 = *(int *)(puVar1 + -8);
|
||||
}
|
||||
if ((iVar2 <= iVar3) && (iVar3 = 0, puVar1 != (undefined *)0x0)) {
|
||||
if (puVar1 == PTR_DAT_1401ac010) {
|
||||
return;
|
||||
}
|
||||
iVar3 = *(int *)(puVar1 + -8);
|
||||
}
|
||||
if (((puVar1 != PTR_DAT_1401ac010) && (puVar1 != (undefined *)0x0)) &&
|
||||
((int *)(puVar1 + -8) != (int *)0x0)) {
|
||||
*(int *)(puVar1 + -8) = iVar3;
|
||||
*(undefined2 *)(puVar1 + (longlong)iVar3 * 2) = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003090 FUN_140003090
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
longlong * FUN_140003090(longlong *param_1,short *param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
int iVar1;
|
||||
undefined *puVar2;
|
||||
int iVar3;
|
||||
int iVar4;
|
||||
|
||||
FUN_14006cb70(param_1,param_2,param_3,param_4);
|
||||
*param_1 = (longlong)PTR_DAT_1401ac010;
|
||||
iVar1 = FUN_14006c9f0(param_2);
|
||||
iVar3 = (int)param_3;
|
||||
iVar4 = iVar1;
|
||||
if ((0 < iVar3) && (iVar4 = iVar3, iVar1 < iVar3)) {
|
||||
iVar4 = iVar1;
|
||||
}
|
||||
puVar2 = FUN_140002f30(param_1,iVar4);
|
||||
FUN_14006ca20(puVar2,param_2,iVar4);
|
||||
FUN_140003010(param_1);
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003110 FUN_140003110
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003110(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
undefined *puVar1;
|
||||
int *piVar2;
|
||||
longlong *plVar3;
|
||||
|
||||
puVar1 = (undefined *)*param_1;
|
||||
if ((undefined *)*param_1 == (undefined *)0x0) {
|
||||
puVar1 = PTR_DAT_1401ac010;
|
||||
}
|
||||
*param_1 = (longlong)puVar1;
|
||||
if ((undefined *)*param_2 != puVar1) {
|
||||
plVar3 = param_2;
|
||||
piVar2 = (int *)FUN_14006cb70(param_1,param_2,param_3,param_4);
|
||||
FUN_14006b350(piVar2);
|
||||
FUN_1400031e0(param_1,plVar3,param_3,param_4);
|
||||
puVar1 = (undefined *)*param_2;
|
||||
*param_1 = (longlong)puVar1;
|
||||
if (((puVar1 != PTR_DAT_1401ac010) && (puVar1 != (undefined *)0x0)) &&
|
||||
(puVar1 != (undefined *)0x8)) {
|
||||
*(int *)(puVar1 + -4) = *(int *)(puVar1 + -4) + 1;
|
||||
}
|
||||
FUN_14006b3e0((longlong)piVar2);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400031b0 FUN_1400031b0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400031b0(longlong *param_1)
|
||||
|
||||
{
|
||||
if ((char)param_1[1] != '\0') {
|
||||
FUN_14006b3e0(*param_1);
|
||||
*(undefined1 *)(param_1 + 1) = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400031e0 FUN_1400031e0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400031e0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
int *piVar1;
|
||||
undefined *puVar2;
|
||||
int *piVar3;
|
||||
|
||||
puVar2 = (undefined *)*param_1;
|
||||
if (((puVar2 == (undefined *)0x0) || (puVar2 == PTR_DAT_1401ac010)) ||
|
||||
(puVar2 + -8 == (undefined *)0x0)) {
|
||||
*param_1 = (longlong)PTR_DAT_1401ac010;
|
||||
}
|
||||
else {
|
||||
piVar3 = (int *)FUN_14006cb70(puVar2,param_2,param_3,param_4);
|
||||
FUN_14006b350(piVar3);
|
||||
piVar1 = (int *)(puVar2 + -4);
|
||||
*piVar1 = *piVar1 + -1;
|
||||
if (*piVar1 == 0) {
|
||||
FUN_14006cc60(puVar2 + -8);
|
||||
}
|
||||
FUN_14006b3e0((longlong)piVar3);
|
||||
*param_1 = (longlong)PTR_DAT_1401ac010;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003280 FUN_140003280
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003280(undefined8 *param_1)
|
||||
|
||||
{
|
||||
*param_1 = Proud::INetClientEvent::vftable;
|
||||
FUN_1400780b0(param_1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003290 FUN_140003290
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 * FUN_140003290(undefined8 *param_1,uint param_2)
|
||||
|
||||
{
|
||||
FUN_1400780b0(param_1);
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400032c0 std::bad_alloc::`scalar_deleting_destructor'
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* Library Function - Single Match
|
||||
public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned
|
||||
int) __ptr64
|
||||
|
||||
Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */
|
||||
|
||||
void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1)
|
||||
|
||||
{
|
||||
*(undefined ***)this = Proud::INetClientEvent::vftable;
|
||||
FUN_1400780b0((undefined8 *)this);
|
||||
if ((param_1 & 1) != 0) {
|
||||
operator_delete(this);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003300 FUN_140003300
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 * FUN_140003300(undefined8 *param_1,uint param_2)
|
||||
|
||||
{
|
||||
FUN_14011b4b0(param_1);
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003330 FUN_140003330
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003330(undefined8 *param_1)
|
||||
|
||||
{
|
||||
DAT_1401ba9e8 = 0;
|
||||
*param_1 = MBISingleton<MBCLog>::vftable;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003350 FUN_140003350
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003350(void)
|
||||
|
||||
{
|
||||
/* WARNING: Could not recover jumptable at 0x000140003357. Too many branches */
|
||||
/* WARNING: Treating indirect jump as call */
|
||||
LeaveCriticalSection(DAT_1401bd028);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003360 FUN_140003360
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 * FUN_140003360(undefined8 *param_1,byte param_2)
|
||||
|
||||
{
|
||||
DAT_1401ba9e8 = 0;
|
||||
*param_1 = MBISingleton<MBCLog>::vftable;
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400033a0 FUN_1400033a0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 * FUN_1400033a0(undefined8 *param_1,uint param_2)
|
||||
|
||||
{
|
||||
LPCRITICAL_SECTION lpCriticalSection;
|
||||
|
||||
lpCriticalSection = DAT_1401bd028;
|
||||
*param_1 = MBMultiThreadSync<MBCLog>::vftable;
|
||||
if (lpCriticalSection != (LPCRITICAL_SECTION)0x0) {
|
||||
DeleteCriticalSection(lpCriticalSection);
|
||||
operator_delete(lpCriticalSection);
|
||||
}
|
||||
DAT_1401bd028 = (LPCRITICAL_SECTION)0x0;
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003410 FUN_140003410
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003410(wchar_t *param_1,size_t param_2,wchar_t *param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
undefined8 local_res20;
|
||||
|
||||
local_res20 = param_4;
|
||||
_vsnwprintf_s(param_1,0x20,param_2,param_3,(va_list)&local_res20);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003440 FUN_140003440
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003440(wchar_t *param_1,size_t param_2,wchar_t *param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
undefined8 local_res20;
|
||||
|
||||
local_res20 = param_4;
|
||||
_vsnwprintf_s(param_1,0x104,param_2,param_3,(va_list)&local_res20);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003470 FUN_140003470
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003470(char *param_1,size_t param_2,char *param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
undefined8 local_res20;
|
||||
|
||||
local_res20 = param_4;
|
||||
_vsnprintf_s(param_1,0x104,param_2,param_3,(va_list)&local_res20);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400034a0 FUN_1400034a0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400034a0(longlong param_1,uint param_2)
|
||||
|
||||
{
|
||||
FUN_140003300((undefined8 *)(param_1 + -8),param_2);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400034b0 FUN_1400034b0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400034b0(undefined8 *param_1)
|
||||
|
||||
{
|
||||
if ((undefined8 *)*param_1 != &DAT_1401bcf30) {
|
||||
operator_delete__((void *)param_1[1]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400034d0 FUN_1400034d0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 FUN_1400034d0(void)
|
||||
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400034e0 FUN_1400034e0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400034e0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
*param_1 = TiXmlDocument::vftable;
|
||||
if ((undefined8 *)param_1[0xc] != &DAT_1401bcf30) {
|
||||
operator_delete__((void *)param_1[0xd]);
|
||||
}
|
||||
FUN_14000b7d0(param_1,param_2,param_3,param_4);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003520 FUN_140003520
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 *
|
||||
FUN_140003520(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
ulonglong uVar1;
|
||||
|
||||
*param_1 = TiXmlDocument::vftable;
|
||||
uVar1 = param_2;
|
||||
if ((undefined8 *)param_1[0xc] != &DAT_1401bcf30) {
|
||||
operator_delete__((void *)param_1[0xd]);
|
||||
}
|
||||
FUN_14000b7d0(param_1,uVar1,param_3,param_4);
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003580 FUN_140003580
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined1 * FUN_140003580(undefined1 *param_1)
|
||||
|
||||
{
|
||||
*(undefined8 *)(param_1 + 0x18) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0x10) = 0;
|
||||
*param_1 = 0;
|
||||
*(undefined8 *)(param_1 + 0x40) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0x38) = 0;
|
||||
param_1[0x28] = 0;
|
||||
*(undefined8 *)(param_1 + 0x68) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0x60) = 0;
|
||||
param_1[0x50] = 0;
|
||||
*(undefined8 *)(param_1 + 0x90) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0x88) = 0;
|
||||
param_1[0x78] = 0;
|
||||
*(undefined8 *)(param_1 + 0xb8) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0xb0) = 0;
|
||||
param_1[0xa0] = 0;
|
||||
*(undefined8 *)(param_1 + 0xe0) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0xd8) = 0;
|
||||
param_1[200] = 0;
|
||||
*(undefined8 *)(param_1 + 0x108) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0x100) = 0;
|
||||
param_1[0xf0] = 0;
|
||||
*(undefined8 *)(param_1 + 0x130) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0x128) = 0;
|
||||
param_1[0x118] = 0;
|
||||
*(undefined8 *)(param_1 + 0x158) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0x150) = 0;
|
||||
param_1[0x140] = 0;
|
||||
*(undefined4 *)(param_1 + 0x168) = 0;
|
||||
*(undefined8 *)(param_1 + 0x188) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0x180) = 0;
|
||||
param_1[0x170] = 0;
|
||||
*(undefined8 *)(param_1 + 0x1b0) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0x1a8) = 0;
|
||||
param_1[0x198] = 0;
|
||||
*(undefined8 *)(param_1 + 0x1d8) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0x1d0) = 0;
|
||||
param_1[0x1c0] = 0;
|
||||
*(undefined8 *)(param_1 + 0x1e8) = 0;
|
||||
*(undefined4 *)(param_1 + 0x1f0) = 0;
|
||||
*(undefined8 *)(param_1 + 500) = 100;
|
||||
*(undefined8 *)(param_1 + 0x218) = 0xf;
|
||||
*(undefined8 *)(param_1 + 0x210) = 0;
|
||||
param_1[0x200] = 0;
|
||||
FUN_140003e60((ulonglong *)(param_1 + 0x200),&DAT_140159678,3);
|
||||
*(undefined4 *)(param_1 + 0x228) = 1000;
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400036f0 FUN_1400036f0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400036f0(undefined8 *param_1)
|
||||
|
||||
{
|
||||
if (0xf < (ulonglong)param_1[0x43]) {
|
||||
operator_delete((void *)param_1[0x40]);
|
||||
}
|
||||
param_1[0x43] = 0xf;
|
||||
param_1[0x42] = 0;
|
||||
*(undefined1 *)(param_1 + 0x40) = 0;
|
||||
if (0xf < (ulonglong)param_1[0x3b]) {
|
||||
operator_delete((void *)param_1[0x38]);
|
||||
}
|
||||
param_1[0x3b] = 0xf;
|
||||
param_1[0x3a] = 0;
|
||||
*(undefined1 *)(param_1 + 0x38) = 0;
|
||||
if (0xf < (ulonglong)param_1[0x36]) {
|
||||
operator_delete((void *)param_1[0x33]);
|
||||
}
|
||||
param_1[0x36] = 0xf;
|
||||
param_1[0x35] = 0;
|
||||
*(undefined1 *)(param_1 + 0x33) = 0;
|
||||
if (0xf < (ulonglong)param_1[0x31]) {
|
||||
operator_delete((void *)param_1[0x2e]);
|
||||
}
|
||||
param_1[0x31] = 0xf;
|
||||
param_1[0x30] = 0;
|
||||
*(undefined1 *)(param_1 + 0x2e) = 0;
|
||||
if (0xf < (ulonglong)param_1[0x2b]) {
|
||||
operator_delete((void *)param_1[0x28]);
|
||||
}
|
||||
param_1[0x2b] = 0xf;
|
||||
param_1[0x2a] = 0;
|
||||
*(undefined1 *)(param_1 + 0x28) = 0;
|
||||
if (0xf < (ulonglong)param_1[0x26]) {
|
||||
operator_delete((void *)param_1[0x23]);
|
||||
}
|
||||
param_1[0x26] = 0xf;
|
||||
param_1[0x25] = 0;
|
||||
*(undefined1 *)(param_1 + 0x23) = 0;
|
||||
if (0xf < (ulonglong)param_1[0x21]) {
|
||||
operator_delete((void *)param_1[0x1e]);
|
||||
}
|
||||
param_1[0x21] = 0xf;
|
||||
param_1[0x20] = 0;
|
||||
*(undefined1 *)(param_1 + 0x1e) = 0;
|
||||
if (0xf < (ulonglong)param_1[0x1c]) {
|
||||
operator_delete((void *)param_1[0x19]);
|
||||
}
|
||||
param_1[0x1c] = 0xf;
|
||||
param_1[0x1b] = 0;
|
||||
*(undefined1 *)(param_1 + 0x19) = 0;
|
||||
if (0xf < (ulonglong)param_1[0x17]) {
|
||||
operator_delete((void *)param_1[0x14]);
|
||||
}
|
||||
param_1[0x17] = 0xf;
|
||||
param_1[0x16] = 0;
|
||||
*(undefined1 *)(param_1 + 0x14) = 0;
|
||||
if (0xf < (ulonglong)param_1[0x12]) {
|
||||
operator_delete((void *)param_1[0xf]);
|
||||
}
|
||||
param_1[0x12] = 0xf;
|
||||
param_1[0x11] = 0;
|
||||
*(undefined1 *)(param_1 + 0xf) = 0;
|
||||
if (0xf < (ulonglong)param_1[0xd]) {
|
||||
operator_delete((void *)param_1[10]);
|
||||
}
|
||||
param_1[0xd] = 0xf;
|
||||
param_1[0xc] = 0;
|
||||
*(undefined1 *)(param_1 + 10) = 0;
|
||||
if (0xf < (ulonglong)param_1[8]) {
|
||||
operator_delete((void *)param_1[5]);
|
||||
}
|
||||
param_1[8] = 0xf;
|
||||
param_1[7] = 0;
|
||||
*(undefined1 *)(param_1 + 5) = 0;
|
||||
if (0xf < (ulonglong)param_1[3]) {
|
||||
operator_delete((void *)*param_1);
|
||||
}
|
||||
param_1[3] = 0xf;
|
||||
param_1[2] = 0;
|
||||
*(undefined1 *)param_1 = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003950 FUN_140003950
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
longlong * FUN_140003950(longlong *param_1,longlong *param_2)
|
||||
|
||||
{
|
||||
FUN_140003da0(param_1,param_2,0,0xffffffffffffffff);
|
||||
FUN_140003da0(param_1 + 5,param_2 + 5,0,0xffffffffffffffff);
|
||||
FUN_140003da0(param_1 + 10,param_2 + 10,0,0xffffffffffffffff);
|
||||
FUN_140003da0(param_1 + 0xf,param_2 + 0xf,0,0xffffffffffffffff);
|
||||
FUN_140003da0(param_1 + 0x14,param_2 + 0x14,0,0xffffffffffffffff);
|
||||
FUN_140003da0(param_1 + 0x19,param_2 + 0x19,0,0xffffffffffffffff);
|
||||
FUN_140003da0(param_1 + 0x1e,param_2 + 0x1e,0,0xffffffffffffffff);
|
||||
FUN_140003da0(param_1 + 0x23,param_2 + 0x23,0,0xffffffffffffffff);
|
||||
FUN_140003da0(param_1 + 0x28,param_2 + 0x28,0,0xffffffffffffffff);
|
||||
*(int *)(param_1 + 0x2d) = (int)param_2[0x2d];
|
||||
FUN_140003da0(param_1 + 0x2e,param_2 + 0x2e,0,0xffffffffffffffff);
|
||||
FUN_140003da0(param_1 + 0x33,param_2 + 0x33,0,0xffffffffffffffff);
|
||||
FUN_140003da0(param_1 + 0x38,param_2 + 0x38,0,0xffffffffffffffff);
|
||||
*(char *)(param_1 + 0x3d) = (char)param_2[0x3d];
|
||||
*(undefined1 *)((longlong)param_1 + 0x1e9) = *(undefined1 *)((longlong)param_2 + 0x1e9);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1ea) = *(undefined1 *)((longlong)param_2 + 0x1ea);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1eb) = *(undefined1 *)((longlong)param_2 + 0x1eb);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1ec) = *(undefined1 *)((longlong)param_2 + 0x1ec);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1ed) = *(undefined1 *)((longlong)param_2 + 0x1ed);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1ee) = *(undefined1 *)((longlong)param_2 + 0x1ee);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1ef) = *(undefined1 *)((longlong)param_2 + 0x1ef);
|
||||
*(char *)(param_1 + 0x3e) = (char)param_2[0x3e];
|
||||
*(undefined1 *)((longlong)param_1 + 0x1f1) = *(undefined1 *)((longlong)param_2 + 0x1f1);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1f2) = *(undefined1 *)((longlong)param_2 + 0x1f2);
|
||||
*(undefined1 *)((longlong)param_1 + 499) = *(undefined1 *)((longlong)param_2 + 499);
|
||||
*(undefined4 *)((longlong)param_1 + 500) = *(undefined4 *)((longlong)param_2 + 500);
|
||||
*(int *)(param_1 + 0x3f) = (int)param_2[0x3f];
|
||||
FUN_140003da0(param_1 + 0x40,param_2 + 0x40,0,0xffffffffffffffff);
|
||||
*(int *)(param_1 + 0x45) = (int)param_2[0x45];
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003b80 FUN_140003b80
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003b80(undefined8 *param_1)
|
||||
|
||||
{
|
||||
if (0xf < (ulonglong)param_1[3]) {
|
||||
operator_delete((void *)*param_1);
|
||||
}
|
||||
param_1[3] = 0xf;
|
||||
param_1[2] = 0;
|
||||
*(undefined1 *)param_1 = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003bc0 FUN_140003bc0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003bc0(longlong *param_1)
|
||||
|
||||
{
|
||||
undefined8 *puVar1;
|
||||
undefined8 *puVar2;
|
||||
|
||||
puVar2 = (undefined8 *)*param_1;
|
||||
if (puVar2 != (undefined8 *)0x0) {
|
||||
puVar1 = (undefined8 *)param_1[1];
|
||||
for (; puVar2 != puVar1; puVar2 = puVar2 + 0x46) {
|
||||
FUN_1400036f0(puVar2);
|
||||
}
|
||||
operator_delete((void *)*param_1);
|
||||
}
|
||||
*param_1 = 0;
|
||||
param_1[1] = 0;
|
||||
param_1[2] = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003c20 FUN_140003c20
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003c20(ulonglong *param_1,longlong *param_2)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
longlong *plVar2;
|
||||
|
||||
plVar1 = (longlong *)param_1[1];
|
||||
if ((param_2 < plVar1) && (plVar2 = (longlong *)*param_1, plVar2 <= param_2)) {
|
||||
if (plVar1 == (longlong *)param_1[2]) {
|
||||
FUN_140003ce0((longlong *)param_1);
|
||||
}
|
||||
if ((longlong *)param_1[1] != (longlong *)0x0) {
|
||||
FUN_140004350((longlong *)param_1[1],
|
||||
(longlong *)
|
||||
((((longlong)param_2 - (longlong)plVar2) / 0x230) * 0x230 + *param_1));
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (plVar1 == (longlong *)param_1[2]) {
|
||||
FUN_140003ce0((longlong *)param_1);
|
||||
}
|
||||
if ((longlong *)param_1[1] != (longlong *)0x0) {
|
||||
FUN_140004350((longlong *)param_1[1],param_2);
|
||||
}
|
||||
}
|
||||
param_1[1] = param_1[1] + 0x230;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003ce0 FUN_140003ce0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003ce0(longlong *param_1)
|
||||
|
||||
{
|
||||
code *pcVar1;
|
||||
ulonglong uVar2;
|
||||
ulonglong uVar3;
|
||||
|
||||
uVar3 = (param_1[1] - *param_1) / 0x230;
|
||||
if (0x75075075075074 < uVar3) {
|
||||
std::_Xlength_error("vector<T> too long");
|
||||
pcVar1 = (code *)swi(3);
|
||||
(*pcVar1)();
|
||||
return;
|
||||
}
|
||||
uVar3 = uVar3 + 1;
|
||||
uVar2 = (param_1[2] - *param_1) / 0x230;
|
||||
if (uVar2 < uVar3) {
|
||||
if (0x75075075075075 - (uVar2 >> 1) < uVar2) {
|
||||
uVar2 = 0;
|
||||
if (uVar3 != 0) {
|
||||
uVar2 = uVar3;
|
||||
}
|
||||
FUN_140003f30(param_1,uVar2);
|
||||
return;
|
||||
}
|
||||
uVar2 = uVar2 + (uVar2 >> 1);
|
||||
if (uVar2 < uVar3) {
|
||||
uVar2 = uVar3;
|
||||
}
|
||||
FUN_140003f30(param_1,uVar2);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003da0 FUN_140003da0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
longlong * FUN_140003da0(longlong *param_1,longlong *param_2,ulonglong param_3,ulonglong param_4)
|
||||
|
||||
{
|
||||
code *pcVar1;
|
||||
char cVar2;
|
||||
longlong *plVar3;
|
||||
ulonglong _Size;
|
||||
|
||||
if (param_3 <= (ulonglong)param_2[2]) {
|
||||
_Size = param_2[2] - param_3;
|
||||
if (param_4 < _Size) {
|
||||
_Size = param_4;
|
||||
}
|
||||
if (param_1 == param_2) {
|
||||
FUN_1400040a0(param_1,_Size + param_3,0xffffffffffffffff);
|
||||
FUN_1400040a0(param_1,0,param_3);
|
||||
}
|
||||
else {
|
||||
cVar2 = FUN_140004140(param_1,_Size);
|
||||
if (cVar2 != '\0') {
|
||||
if (0xf < (ulonglong)param_2[3]) {
|
||||
param_2 = (longlong *)*param_2;
|
||||
}
|
||||
plVar3 = param_1;
|
||||
if (0xf < (ulonglong)param_1[3]) {
|
||||
plVar3 = (longlong *)*param_1;
|
||||
}
|
||||
memcpy(plVar3,(void *)((longlong)param_2 + param_3),_Size);
|
||||
param_1[2] = _Size;
|
||||
plVar3 = param_1;
|
||||
if (0xf < (ulonglong)param_1[3]) {
|
||||
plVar3 = (longlong *)*param_1;
|
||||
}
|
||||
*(undefined1 *)((longlong)plVar3 + _Size) = 0;
|
||||
}
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
std::_Xout_of_range("invalid string position");
|
||||
pcVar1 = (code *)swi(3);
|
||||
plVar3 = (longlong *)(*pcVar1)();
|
||||
return plVar3;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003e60 FUN_140003e60
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
ulonglong * FUN_140003e60(ulonglong *param_1,void *param_2,ulonglong param_3)
|
||||
|
||||
{
|
||||
ulonglong uVar1;
|
||||
char cVar2;
|
||||
ulonglong *puVar3;
|
||||
|
||||
if (param_2 != (void *)0x0) {
|
||||
uVar1 = param_1[3];
|
||||
puVar3 = param_1;
|
||||
if (0xf < uVar1) {
|
||||
puVar3 = (ulonglong *)*param_1;
|
||||
}
|
||||
if (puVar3 <= param_2) {
|
||||
puVar3 = param_1;
|
||||
if (0xf < uVar1) {
|
||||
puVar3 = (ulonglong *)*param_1;
|
||||
}
|
||||
if (param_2 < (void *)((longlong)puVar3 + param_1[2])) {
|
||||
puVar3 = param_1;
|
||||
if (0xf < uVar1) {
|
||||
puVar3 = (ulonglong *)*param_1;
|
||||
}
|
||||
puVar3 = (ulonglong *)
|
||||
FUN_140003da0((longlong *)param_1,(longlong *)param_1,
|
||||
(longlong)param_2 - (longlong)puVar3,param_3);
|
||||
return puVar3;
|
||||
}
|
||||
}
|
||||
}
|
||||
cVar2 = FUN_140004140(param_1,param_3);
|
||||
if (cVar2 != '\0') {
|
||||
puVar3 = param_1;
|
||||
if (0xf < param_1[3]) {
|
||||
puVar3 = (ulonglong *)*param_1;
|
||||
}
|
||||
memcpy(puVar3,param_2,param_3);
|
||||
param_1[2] = param_3;
|
||||
puVar3 = param_1;
|
||||
if (0xf < param_1[3]) {
|
||||
puVar3 = (ulonglong *)*param_1;
|
||||
}
|
||||
*(undefined1 *)((longlong)puVar3 + param_3) = 0;
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140003f30 FUN_140003f30
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140003f30(longlong *param_1,ulonglong param_2)
|
||||
|
||||
{
|
||||
undefined8 *puVar1;
|
||||
code *pcVar2;
|
||||
longlong *plVar3;
|
||||
longlong lVar4;
|
||||
undefined8 *puVar5;
|
||||
longlong *local_res10;
|
||||
undefined **local_30 [3];
|
||||
|
||||
if (0x75075075075075 < param_2) {
|
||||
std::_Xlength_error("vector<T> too long");
|
||||
pcVar2 = (code *)swi(3);
|
||||
(*pcVar2)();
|
||||
return;
|
||||
}
|
||||
if ((ulonglong)((param_1[2] - *param_1) / 0x230) < param_2) {
|
||||
local_res10 = (longlong *)0x0;
|
||||
if ((param_2 != 0) &&
|
||||
(local_res10 = operator_new(param_2 * 0x230), local_res10 == (longlong *)0x0)) {
|
||||
std::exception::exception((exception *)local_30,(char **)&local_res10);
|
||||
local_30[0] = std::bad_alloc::vftable;
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_30,(ThrowInfo *)&DAT_1401a9330);
|
||||
}
|
||||
plVar3 = local_res10;
|
||||
FUN_140004660((longlong *)*param_1,(longlong *)param_1[1],local_res10);
|
||||
puVar1 = (undefined8 *)param_1[1];
|
||||
puVar5 = (undefined8 *)*param_1;
|
||||
lVar4 = (longlong)puVar1 - (longlong)puVar5;
|
||||
if (puVar5 != (undefined8 *)0x0) {
|
||||
for (; puVar5 != puVar1; puVar5 = puVar5 + 0x46) {
|
||||
FUN_1400036f0(puVar5);
|
||||
}
|
||||
operator_delete((void *)*param_1);
|
||||
}
|
||||
param_1[2] = (longlong)(plVar3 + param_2 * 0x46);
|
||||
param_1[1] = (longlong)(plVar3 + (lVar4 / 0x230) * 0x46);
|
||||
*param_1 = (longlong)plVar3;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400040a0 FUN_1400040a0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
longlong * FUN_1400040a0(longlong *param_1,ulonglong param_2,ulonglong param_3)
|
||||
|
||||
{
|
||||
code *pcVar1;
|
||||
longlong *plVar2;
|
||||
longlong *plVar3;
|
||||
ulonglong uVar4;
|
||||
longlong lVar5;
|
||||
|
||||
if ((ulonglong)param_1[2] < param_2) {
|
||||
std::_Xout_of_range("invalid string position");
|
||||
pcVar1 = (code *)swi(3);
|
||||
plVar2 = (longlong *)(*pcVar1)();
|
||||
return plVar2;
|
||||
}
|
||||
uVar4 = param_1[2] - param_2;
|
||||
if (uVar4 < param_3) {
|
||||
param_3 = uVar4;
|
||||
}
|
||||
if (param_3 != 0) {
|
||||
plVar2 = param_1;
|
||||
plVar3 = param_1;
|
||||
if (0xf < (ulonglong)param_1[3]) {
|
||||
plVar2 = (longlong *)*param_1;
|
||||
plVar3 = (longlong *)*param_1;
|
||||
}
|
||||
memmove((void *)((longlong)plVar2 + param_2),(void *)((longlong)plVar3 + param_3 + param_2),
|
||||
uVar4 - param_3);
|
||||
lVar5 = param_1[2] - param_3;
|
||||
param_1[2] = lVar5;
|
||||
if (0xf < (ulonglong)param_1[3]) {
|
||||
*(undefined1 *)(*param_1 + lVar5) = 0;
|
||||
return param_1;
|
||||
}
|
||||
*(undefined1 *)((longlong)param_1 + lVar5) = 0;
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140004140 FUN_140004140
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined1 FUN_140004140(undefined8 *param_1,ulonglong param_2)
|
||||
|
||||
{
|
||||
code *pcVar1;
|
||||
undefined1 uVar2;
|
||||
|
||||
if (param_2 == 0xffffffffffffffff) {
|
||||
std::_Xlength_error("string too long");
|
||||
pcVar1 = (code *)swi(3);
|
||||
uVar2 = (*pcVar1)();
|
||||
return uVar2;
|
||||
}
|
||||
if ((ulonglong)param_1[3] < param_2) {
|
||||
FUN_1400041b0(param_1,param_2,param_1[2]);
|
||||
return param_2 != 0;
|
||||
}
|
||||
if (param_2 == 0) {
|
||||
param_1[2] = 0;
|
||||
if (0xf < (ulonglong)param_1[3]) {
|
||||
param_1 = (undefined8 *)*param_1;
|
||||
}
|
||||
*(undefined1 *)param_1 = 0;
|
||||
}
|
||||
return param_2 != 0;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400041b0 FUN_1400041b0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400041b0(undefined8 *param_1,ulonglong param_2,size_t param_3)
|
||||
|
||||
{
|
||||
ulonglong uVar1;
|
||||
undefined8 *_Dst;
|
||||
ulonglong uVar2;
|
||||
undefined8 *_Src;
|
||||
ulonglong uVar3;
|
||||
char *local_res20;
|
||||
undefined **local_40 [4];
|
||||
|
||||
uVar3 = param_2 | 0xf;
|
||||
if (uVar3 != 0xffffffffffffffff) {
|
||||
uVar1 = param_1[3];
|
||||
uVar2 = uVar1 >> 1;
|
||||
param_2 = uVar3;
|
||||
if ((uVar3 / 3 < uVar2) && (param_2 = 0xfffffffffffffffe, uVar1 <= -uVar2 - 2)) {
|
||||
param_2 = uVar2 + uVar1;
|
||||
}
|
||||
}
|
||||
_Dst = (undefined8 *)0x0;
|
||||
if ((param_2 + 1 != 0) && (_Dst = operator_new(param_2 + 1), _Dst == (undefined8 *)0x0)) {
|
||||
local_res20 = (char *)0x0;
|
||||
std::exception::exception((exception *)local_40,&local_res20);
|
||||
local_40[0] = std::bad_alloc::vftable;
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_40,(ThrowInfo *)&DAT_1401a9330);
|
||||
}
|
||||
if (param_3 != 0) {
|
||||
_Src = param_1;
|
||||
if (0xf < (ulonglong)param_1[3]) {
|
||||
_Src = (undefined8 *)*param_1;
|
||||
}
|
||||
memcpy(_Dst,_Src,param_3);
|
||||
}
|
||||
if (0xf < (ulonglong)param_1[3]) {
|
||||
operator_delete((void *)*param_1);
|
||||
}
|
||||
*(undefined1 *)param_1 = 0;
|
||||
*param_1 = _Dst;
|
||||
param_1[3] = param_2;
|
||||
param_1[2] = param_3;
|
||||
if (0xf < param_2) {
|
||||
param_1 = _Dst;
|
||||
}
|
||||
*(undefined1 *)((longlong)param_1 + param_3) = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400042f0 FUN_1400042f0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void * FUN_1400042f0(__uint64 param_1)
|
||||
|
||||
{
|
||||
void *pvVar1;
|
||||
char *local_res8 [4];
|
||||
undefined **local_28 [5];
|
||||
|
||||
pvVar1 = (void *)0x0;
|
||||
if ((param_1 != 0) && (pvVar1 = operator_new(param_1), pvVar1 == (void *)0x0)) {
|
||||
local_res8[0] = (char *)0x0;
|
||||
std::exception::exception((exception *)local_28,local_res8);
|
||||
local_28[0] = std::bad_alloc::vftable;
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_28,(ThrowInfo *)&DAT_1401a9330);
|
||||
}
|
||||
return pvVar1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140004350 FUN_140004350
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
longlong * FUN_140004350(longlong *param_1,longlong *param_2)
|
||||
|
||||
{
|
||||
param_1[3] = 0xf;
|
||||
param_1[2] = 0;
|
||||
*(undefined1 *)param_1 = 0;
|
||||
FUN_140003da0(param_1,param_2,0,0xffffffffffffffff);
|
||||
param_1[8] = 0xf;
|
||||
param_1[7] = 0;
|
||||
*(undefined1 *)(param_1 + 5) = 0;
|
||||
FUN_140003da0(param_1 + 5,param_2 + 5,0,0xffffffffffffffff);
|
||||
param_1[0xd] = 0xf;
|
||||
param_1[0xc] = 0;
|
||||
*(undefined1 *)(param_1 + 10) = 0;
|
||||
FUN_140003da0(param_1 + 10,param_2 + 10,0,0xffffffffffffffff);
|
||||
param_1[0x12] = 0xf;
|
||||
param_1[0x11] = 0;
|
||||
*(undefined1 *)(param_1 + 0xf) = 0;
|
||||
FUN_140003da0(param_1 + 0xf,param_2 + 0xf,0,0xffffffffffffffff);
|
||||
param_1[0x17] = 0xf;
|
||||
param_1[0x16] = 0;
|
||||
*(undefined1 *)(param_1 + 0x14) = 0;
|
||||
FUN_140003da0(param_1 + 0x14,param_2 + 0x14,0,0xffffffffffffffff);
|
||||
param_1[0x1c] = 0xf;
|
||||
param_1[0x1b] = 0;
|
||||
*(undefined1 *)(param_1 + 0x19) = 0;
|
||||
FUN_140003da0(param_1 + 0x19,param_2 + 0x19,0,0xffffffffffffffff);
|
||||
param_1[0x21] = 0xf;
|
||||
param_1[0x20] = 0;
|
||||
*(undefined1 *)(param_1 + 0x1e) = 0;
|
||||
FUN_140003da0(param_1 + 0x1e,param_2 + 0x1e,0,0xffffffffffffffff);
|
||||
param_1[0x26] = 0xf;
|
||||
param_1[0x25] = 0;
|
||||
*(undefined1 *)(param_1 + 0x23) = 0;
|
||||
FUN_140003da0(param_1 + 0x23,param_2 + 0x23,0,0xffffffffffffffff);
|
||||
param_1[0x2b] = 0xf;
|
||||
param_1[0x2a] = 0;
|
||||
*(undefined1 *)(param_1 + 0x28) = 0;
|
||||
FUN_140003da0(param_1 + 0x28,param_2 + 0x28,0,0xffffffffffffffff);
|
||||
*(int *)(param_1 + 0x2d) = (int)param_2[0x2d];
|
||||
param_1[0x31] = 0xf;
|
||||
param_1[0x30] = 0;
|
||||
*(undefined1 *)(param_1 + 0x2e) = 0;
|
||||
FUN_140003da0(param_1 + 0x2e,param_2 + 0x2e,0,0xffffffffffffffff);
|
||||
param_1[0x36] = 0xf;
|
||||
param_1[0x35] = 0;
|
||||
*(undefined1 *)(param_1 + 0x33) = 0;
|
||||
FUN_140003da0(param_1 + 0x33,param_2 + 0x33,0,0xffffffffffffffff);
|
||||
param_1[0x3b] = 0xf;
|
||||
param_1[0x3a] = 0;
|
||||
*(undefined1 *)(param_1 + 0x38) = 0;
|
||||
FUN_140003da0(param_1 + 0x38,param_2 + 0x38,0,0xffffffffffffffff);
|
||||
*(char *)(param_1 + 0x3d) = (char)param_2[0x3d];
|
||||
*(undefined1 *)((longlong)param_1 + 0x1e9) = *(undefined1 *)((longlong)param_2 + 0x1e9);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1ea) = *(undefined1 *)((longlong)param_2 + 0x1ea);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1eb) = *(undefined1 *)((longlong)param_2 + 0x1eb);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1ec) = *(undefined1 *)((longlong)param_2 + 0x1ec);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1ed) = *(undefined1 *)((longlong)param_2 + 0x1ed);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1ee) = *(undefined1 *)((longlong)param_2 + 0x1ee);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1ef) = *(undefined1 *)((longlong)param_2 + 0x1ef);
|
||||
*(char *)(param_1 + 0x3e) = (char)param_2[0x3e];
|
||||
*(undefined1 *)((longlong)param_1 + 0x1f1) = *(undefined1 *)((longlong)param_2 + 0x1f1);
|
||||
*(undefined1 *)((longlong)param_1 + 0x1f2) = *(undefined1 *)((longlong)param_2 + 0x1f2);
|
||||
*(undefined1 *)((longlong)param_1 + 499) = *(undefined1 *)((longlong)param_2 + 499);
|
||||
*(undefined4 *)((longlong)param_1 + 500) = *(undefined4 *)((longlong)param_2 + 500);
|
||||
*(int *)(param_1 + 0x3f) = (int)param_2[0x3f];
|
||||
param_1[0x43] = 0xf;
|
||||
param_1[0x42] = 0;
|
||||
*(undefined1 *)(param_1 + 0x40) = 0;
|
||||
FUN_140003da0(param_1 + 0x40,param_2 + 0x40,0,0xffffffffffffffff);
|
||||
*(int *)(param_1 + 0x45) = (int)param_2[0x45];
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140004660 FUN_140004660
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
longlong * FUN_140004660(longlong *param_1,longlong *param_2,longlong *param_3)
|
||||
|
||||
{
|
||||
for (; param_1 != param_2; param_1 = param_1 + 0x46) {
|
||||
if (param_3 != (longlong *)0x0) {
|
||||
FUN_140004350(param_3,param_1);
|
||||
}
|
||||
param_3 = param_3 + 0x46;
|
||||
}
|
||||
return param_3;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400046c0 FUN_1400046c0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 *
|
||||
FUN_1400046c0(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
*param_1 = MagiMsgServer::vftable;
|
||||
FUN_14006b400((undefined4 *)(param_1 + 0x10),param_2,param_3,param_4);
|
||||
*param_1 = MagiServerBase::vftable;
|
||||
if ((void *)param_1[2] != (void *)0x0) {
|
||||
operator_delete((void *)param_1[2]);
|
||||
}
|
||||
param_1[2] = 0;
|
||||
param_1[3] = 0;
|
||||
param_1[4] = 0;
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140004740 FUN_140004740
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140004740(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
*param_1 = MagiMsgServer::vftable;
|
||||
FUN_14006b400((undefined4 *)(param_1 + 0x10),param_2,param_3,param_4);
|
||||
*param_1 = MagiServerBase::vftable;
|
||||
if ((void *)param_1[2] != (void *)0x0) {
|
||||
operator_delete((void *)param_1[2]);
|
||||
}
|
||||
param_1[2] = 0;
|
||||
param_1[3] = 0;
|
||||
param_1[4] = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400047a0 FUN_1400047a0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400047a0(LPCWSTR param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
longlong lVar1;
|
||||
char *pcVar2;
|
||||
undefined8 *puVar3;
|
||||
undefined8 *puVar4;
|
||||
undefined8 *puVar5;
|
||||
wchar_t *pwVar6;
|
||||
undefined8 uVar7;
|
||||
|
||||
if ((DAT_1401bd4f4 & 1) == 0) {
|
||||
DAT_1401bd4f4 = DAT_1401bd4f4 | 1;
|
||||
FUN_14011b100();
|
||||
atexit((_func_5014 *)&LAB_14012f3d0);
|
||||
if ((DAT_1401bd4f4 & 1) == 0) {
|
||||
DAT_1401bd4f4 = DAT_1401bd4f4 | 1;
|
||||
FUN_14011b100();
|
||||
atexit((_func_5014 *)&LAB_14012f3d0);
|
||||
}
|
||||
}
|
||||
if ((DAT_1401bd4a0 != 200) && (DAT_1401bd4a0 != 100)) {
|
||||
if ((DAT_1401bd4f4 & 1) == 0) {
|
||||
DAT_1401bd4f4 = DAT_1401bd4f4 | 1;
|
||||
FUN_14011b100();
|
||||
atexit((_func_5014 *)&LAB_14012f3d0);
|
||||
}
|
||||
if (DAT_1401bd4a0 != 1000) goto LAB_14000485b;
|
||||
}
|
||||
setlocale(0,"kor");
|
||||
LAB_14000485b:
|
||||
pcVar2 = setlocale(0,(char *)0x0);
|
||||
printf("Locale is: %s\n");
|
||||
FUN_14006fc10('\0');
|
||||
puVar3 = operator_new(0xe8);
|
||||
puVar5 = (undefined8 *)0x0;
|
||||
puVar4 = puVar5;
|
||||
if (puVar3 != (undefined8 *)0x0) {
|
||||
puVar4 = FUN_14011b5d0(puVar3);
|
||||
}
|
||||
DAT_1401ba9e8 = puVar4;
|
||||
FUN_14011b8a0((longlong)puVar4,pcVar2,param_3,param_4);
|
||||
puVar4 = DAT_1401ba9e8;
|
||||
EnterCriticalSection(DAT_1401bd028);
|
||||
uVar7 = 0xc;
|
||||
pwVar6 = L"Protocol_Msg";
|
||||
FUN_140001830(puVar4 + 3,L"Protocol_Msg",0xc);
|
||||
LeaveCriticalSection(DAT_1401bd028);
|
||||
puVar3 = operator_new(0x98);
|
||||
puVar4 = puVar5;
|
||||
if (puVar3 != (undefined8 *)0x0) {
|
||||
puVar4 = FUN_1401194b0(puVar3,pwVar6,uVar7,param_4);
|
||||
}
|
||||
DAT_1401bd030 = puVar4;
|
||||
puVar4 = operator_new(8);
|
||||
if (puVar4 != (undefined8 *)0x0) {
|
||||
puVar5 = FUN_140063440(puVar4,pwVar6,uVar7,param_4);
|
||||
}
|
||||
lVar1 = DAT_1401bd038;
|
||||
DAT_1401bd040 = puVar5;
|
||||
*(undefined1 *)(DAT_1401bd038 + 0x1e8) = 6;
|
||||
FUN_14005c7b0(lVar1,param_1,uVar7,param_4);
|
||||
return;
|
||||
}
|
||||
|
||||
216
decomp/MessageServer_Release_x64/full/functions/0x140004960.c
Normal file
216
decomp/MessageServer_Release_x64/full/functions/0x140004960.c
Normal file
|
|
@ -0,0 +1,216 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140004960 FUN_140004960
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
undefined8 FUN_140004960(longlong param_1)
|
||||
|
||||
{
|
||||
undefined1 uVar1;
|
||||
longlong *plVar2;
|
||||
longlong lVar3;
|
||||
uint uVar4;
|
||||
ushort uVar5;
|
||||
int iVar6;
|
||||
int iVar7;
|
||||
longlong lVar8;
|
||||
longlong lVar9;
|
||||
ulonglong uVar10;
|
||||
ulonglong uVar11;
|
||||
undefined **ppuVar12;
|
||||
longlong lVar13;
|
||||
undefined1 auStack_e8 [32];
|
||||
undefined8 local_c8;
|
||||
undefined8 local_c0;
|
||||
undefined8 local_b8;
|
||||
undefined8 local_b0;
|
||||
undefined8 local_a8;
|
||||
undefined8 local_a0;
|
||||
undefined8 local_98;
|
||||
undefined8 local_90;
|
||||
undefined8 local_88;
|
||||
undefined8 local_80;
|
||||
undefined4 local_78;
|
||||
undefined8 local_68;
|
||||
undefined1 local_60;
|
||||
undefined7 uStack_5f;
|
||||
undefined8 local_50;
|
||||
ulonglong local_48;
|
||||
ulonglong local_38;
|
||||
|
||||
local_68 = 0xfffffffffffffffe;
|
||||
local_38 = DAT_1401ac5a0 ^ (ulonglong)auStack_e8;
|
||||
iVar6 = _kbhit();
|
||||
if (iVar6 != 0) {
|
||||
lVar13 = 0;
|
||||
do {
|
||||
iVar6 = _getch();
|
||||
iVar6 = (int)(char)iVar6;
|
||||
if (*(int *)(param_1 + 0x40) == 0) {
|
||||
iVar7 = toupper(iVar6);
|
||||
switch(iVar7) {
|
||||
case 0x45:
|
||||
DAT_1401bcf14 = 1;
|
||||
printf("%s\n");
|
||||
return 0;
|
||||
case 0x46:
|
||||
DAT_1401bcf10 = 1;
|
||||
printf("%s\n");
|
||||
break;
|
||||
default:
|
||||
printf("........... Message : Unknown Control Command.\n");
|
||||
break;
|
||||
case 0x4c:
|
||||
*(undefined4 *)(param_1 + 0x40) = 1;
|
||||
printf("%s\n");
|
||||
break;
|
||||
case 0x4d:
|
||||
FUN_140062910(DAT_1401bd020);
|
||||
lVar9 = DAT_1401bd020;
|
||||
if (*(longlong *)(param_1 + 0x30) != 0) {
|
||||
*(undefined1 *)(*(longlong *)(param_1 + 0x30) + 0x18) =
|
||||
*(undefined1 *)(DAT_1401bd020 + 0x16);
|
||||
}
|
||||
uVar4 = DAT_1401bcf24;
|
||||
plVar2 = *(longlong **)(param_1 + 0x60);
|
||||
uVar11 = (ulonglong)DAT_1401bcf24;
|
||||
if ((plVar2 != (longlong *)0x0) &&
|
||||
(uVar1 = *(undefined1 *)(lVar9 + 8), lVar8 = lVar13, uVar10 = uVar11,
|
||||
0 < (int)DAT_1401bcf24)) {
|
||||
do {
|
||||
lVar3 = *plVar2;
|
||||
if (*(longlong *)(lVar8 + lVar3) != 0) {
|
||||
*(undefined1 *)(*(longlong *)(lVar8 + lVar3) + 0x18) = uVar1;
|
||||
}
|
||||
uVar10 = uVar10 - 1;
|
||||
lVar8 = lVar8 + 8;
|
||||
} while (uVar10 != 0);
|
||||
}
|
||||
plVar2 = *(longlong **)(param_1 + 0x68);
|
||||
if ((plVar2 != (longlong *)0x0) &&
|
||||
(uVar1 = *(undefined1 *)(lVar9 + 9), lVar8 = lVar13, uVar10 = uVar11, 0 < (int)uVar4))
|
||||
{
|
||||
do {
|
||||
lVar3 = *plVar2;
|
||||
if (*(longlong *)(lVar8 + lVar3) != 0) {
|
||||
*(undefined1 *)(*(longlong *)(lVar8 + lVar3) + 0x18) = uVar1;
|
||||
}
|
||||
uVar10 = uVar10 - 1;
|
||||
lVar8 = lVar8 + 8;
|
||||
} while (uVar10 != 0);
|
||||
}
|
||||
plVar2 = *(longlong **)(param_1 + 0x70);
|
||||
if ((plVar2 != (longlong *)0x0) &&
|
||||
(uVar1 = *(undefined1 *)(lVar9 + 10), lVar8 = lVar13, uVar10 = uVar11, 0 < (int)uVar4))
|
||||
{
|
||||
do {
|
||||
lVar3 = *plVar2;
|
||||
if (*(longlong *)(lVar8 + lVar3) != 0) {
|
||||
*(undefined1 *)(*(longlong *)(lVar8 + lVar3) + 0x18) = uVar1;
|
||||
}
|
||||
uVar10 = uVar10 - 1;
|
||||
lVar8 = lVar8 + 8;
|
||||
} while (uVar10 != 0);
|
||||
}
|
||||
plVar2 = *(longlong **)(param_1 + 0x78);
|
||||
if ((plVar2 != (longlong *)0x0) &&
|
||||
(uVar1 = *(undefined1 *)(lVar9 + 0xb), lVar9 = lVar13, 0 < (int)uVar4)) {
|
||||
do {
|
||||
lVar8 = *plVar2;
|
||||
if (*(longlong *)(lVar8 + lVar9) != 0) {
|
||||
*(undefined1 *)(*(longlong *)(lVar8 + lVar9) + 0x18) = uVar1;
|
||||
}
|
||||
uVar11 = uVar11 - 1;
|
||||
lVar9 = lVar9 + 8;
|
||||
} while (uVar11 != 0);
|
||||
}
|
||||
printf("%s\n");
|
||||
break;
|
||||
case 0x50:
|
||||
lVar9 = *(longlong *)(param_1 + 0x58);
|
||||
if (lVar9 != 0) {
|
||||
local_88 = 0;
|
||||
local_c0 = 0;
|
||||
local_c8 = 0;
|
||||
local_b0 = 0;
|
||||
local_b8 = 0;
|
||||
local_90 = 0;
|
||||
local_98 = 0;
|
||||
local_a0 = 0;
|
||||
local_a8 = 0;
|
||||
local_80 = 0;
|
||||
local_78 = 0;
|
||||
if (*(longlong *)(lVar9 + 0x40) != 0) {
|
||||
(**(code **)(**(longlong **)(lVar9 + 0x40) + 0xb0))
|
||||
(*(longlong **)(lVar9 + 0x40),&local_c8);
|
||||
printf("--------------------------------------------------\n");
|
||||
printf("%I64d totalTcpReceiveCount\n");
|
||||
printf("%I64d totalTcpReceiveBytes\n");
|
||||
printf("%I64d totalTcpSendCount\n");
|
||||
printf("%I64d totalTcpSendBytes\n");
|
||||
printf("%d p2pConnectionPairCount\n");
|
||||
printf("%d p2pDirectConnectionPairCount\n");
|
||||
printf("%d clientCount\n");
|
||||
printf("--------------------------------------------------\n");
|
||||
}
|
||||
}
|
||||
printf("%s\n");
|
||||
break;
|
||||
case 0x52:
|
||||
DAT_1401bcf18 = (uint)(DAT_1401bcf18 == 0);
|
||||
printf("%s %s\n");
|
||||
break;
|
||||
case 0x54:
|
||||
DAT_1401bcf0f = DAT_1401bcf0f == '\0';
|
||||
printf("%s %s\n");
|
||||
break;
|
||||
case 0x56:
|
||||
if ((DAT_1401bd4f4 & 1) == 0) {
|
||||
DAT_1401bd4f4 = DAT_1401bd4f4 | 1;
|
||||
FUN_14011b100();
|
||||
atexit((_func_5014 *)&LAB_14012f3d0);
|
||||
}
|
||||
FUN_140119840();
|
||||
printf("%s\n");
|
||||
}
|
||||
}
|
||||
else {
|
||||
iVar7 = toupper(iVar6);
|
||||
if (iVar7 == 0x55) {
|
||||
*(undefined4 *)(param_1 + 0x40) = 0;
|
||||
printf("%s\n");
|
||||
ppuVar12 = &PTR_s_Server_Shutdown__1401b3458;
|
||||
do {
|
||||
uVar5 = GetAsyncKeyState(0xa0);
|
||||
if (((uVar5 & 0x8001) != 0) || (*(char *)(ppuVar12 + 1) == '\0')) {
|
||||
printf(" \'%c\'\t: %s\n");
|
||||
}
|
||||
ppuVar12 = ppuVar12 + 3;
|
||||
} while ((longlong)ppuVar12 < 0x1401b3548);
|
||||
}
|
||||
}
|
||||
iVar6 = toupper(iVar6);
|
||||
if (iVar6 == 0x49) {
|
||||
printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n");
|
||||
GetCurrentProcessId();
|
||||
printf("ProcessID : %d\n");
|
||||
printf("SVN : %d\n");
|
||||
printf("Resource : %d\n");
|
||||
printf("Build Date : %s\n");
|
||||
FUN_140118c70((ulonglong *)&local_60);
|
||||
printf("PROTOCOL : %s\n");
|
||||
if (0xf < local_48) {
|
||||
operator_delete((void *)CONCAT71(uStack_5f,local_60));
|
||||
}
|
||||
local_48 = 0xf;
|
||||
local_50 = 0;
|
||||
local_60 = 0;
|
||||
printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n");
|
||||
}
|
||||
iVar6 = _kbhit();
|
||||
} while (iVar6 != 0);
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
|
||||
935
decomp/MessageServer_Release_x64/full/functions/0x140004f00.c
Normal file
935
decomp/MessageServer_Release_x64/full/functions/0x140004f00.c
Normal file
|
|
@ -0,0 +1,935 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140004f00 FUN_140004f00
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
undefined8 FUN_140004f00(longlong param_1,undefined8 param_2,undefined *param_3,char *param_4)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
double dVar2;
|
||||
undefined1 auVar3 [16];
|
||||
undefined1 auVar4 [16];
|
||||
undefined1 auVar5 [16];
|
||||
undefined1 auVar6 [16];
|
||||
bool bVar7;
|
||||
_Container_base0 *p_Var8;
|
||||
DWORD DVar9;
|
||||
DWORD DVar10;
|
||||
int iVar11;
|
||||
_Container_base0 *p_Var12;
|
||||
_Container_base0 *p_Var13;
|
||||
ulonglong uVar14;
|
||||
undefined8 *puVar15;
|
||||
undefined8 uVar16;
|
||||
longlong *plVar17;
|
||||
longlong *plVar18;
|
||||
longlong *plVar19;
|
||||
longlong *plVar20;
|
||||
char *pcVar21;
|
||||
longlong lVar22;
|
||||
short **ppsVar23;
|
||||
char *_Src;
|
||||
undefined *puVar24;
|
||||
char *pcVar25;
|
||||
undefined *puVar26;
|
||||
char *pcVar27;
|
||||
longlong lVar28;
|
||||
undefined4 uVar29;
|
||||
undefined4 uVar30;
|
||||
undefined4 uVar31;
|
||||
undefined4 uVar32;
|
||||
undefined4 uVar33;
|
||||
undefined1 auStack_488 [32];
|
||||
longlong *local_468;
|
||||
longlong *local_460;
|
||||
_Container_base0 *local_458;
|
||||
_Container_base0 *local_450;
|
||||
_Container_base0 *local_448;
|
||||
longlong *local_440;
|
||||
longlong local_438;
|
||||
_Container_base0 *local_430;
|
||||
longlong *local_428;
|
||||
longlong *local_420;
|
||||
undefined4 local_418 [2];
|
||||
undefined4 local_410 [2];
|
||||
undefined4 local_408 [2];
|
||||
void *local_400;
|
||||
longlong local_3f8;
|
||||
undefined8 local_3f0;
|
||||
undefined8 *local_3e0;
|
||||
undefined8 *local_3d8;
|
||||
undefined8 *local_3d0;
|
||||
undefined8 *local_3c8;
|
||||
undefined8 *local_3c0;
|
||||
undefined8 *local_3b8;
|
||||
undefined8 *local_3b0;
|
||||
undefined8 *local_3a8;
|
||||
undefined8 *local_3a0;
|
||||
_Container_base0 *local_398;
|
||||
undefined1 local_390;
|
||||
int *local_388;
|
||||
undefined1 local_380;
|
||||
char *local_378;
|
||||
DWORD local_370;
|
||||
undefined8 local_368;
|
||||
char *local_360;
|
||||
DWORD local_358;
|
||||
undefined2 local_348;
|
||||
undefined1 local_346 [158];
|
||||
undefined1 local_2a8 [160];
|
||||
short *local_208;
|
||||
undefined2 local_200;
|
||||
undefined6 uStack_1fe;
|
||||
undefined8 local_1f0;
|
||||
ulonglong local_1e8;
|
||||
undefined2 local_1d8;
|
||||
undefined6 uStack_1d6;
|
||||
undefined8 local_1c8;
|
||||
ulonglong local_1c0;
|
||||
short *local_1a8;
|
||||
undefined2 local_1a0;
|
||||
undefined6 uStack_19e;
|
||||
undefined8 local_190;
|
||||
ulonglong local_188;
|
||||
undefined2 local_178;
|
||||
undefined6 uStack_176;
|
||||
undefined8 local_168;
|
||||
ulonglong local_160;
|
||||
short *local_148;
|
||||
undefined2 local_140;
|
||||
undefined6 uStack_13e;
|
||||
undefined8 local_130;
|
||||
ulonglong local_128;
|
||||
undefined2 local_118;
|
||||
undefined6 uStack_116;
|
||||
undefined8 local_108;
|
||||
ulonglong local_100;
|
||||
short *local_e8;
|
||||
undefined2 local_e0;
|
||||
undefined6 uStack_de;
|
||||
undefined8 local_d0;
|
||||
ulonglong local_c8;
|
||||
undefined2 local_b8;
|
||||
undefined6 uStack_b6;
|
||||
undefined8 local_a8;
|
||||
ulonglong local_a0;
|
||||
ulonglong local_88;
|
||||
|
||||
local_368 = 0xfffffffffffffffe;
|
||||
local_88 = DAT_1401ac5a0 ^ (ulonglong)auStack_488;
|
||||
local_438 = param_1;
|
||||
FUN_14000a810(L"# Msg Server Startup #\n\n",param_2,param_3,param_4);
|
||||
CoInitialize((LPVOID)0x0);
|
||||
FUN_14000a950(L"+ Prepare Startup\n",param_2,param_3,param_4);
|
||||
local_428 = operator_new(0x148);
|
||||
p_Var13 = (_Container_base0 *)0x0;
|
||||
p_Var12 = p_Var13;
|
||||
if (local_428 != (undefined8 *)0x0) {
|
||||
p_Var12 = (_Container_base0 *)FUN_140006690(local_428,param_2,param_3,param_4);
|
||||
}
|
||||
if (p_Var12 == (_Container_base0 *)0x0) {
|
||||
local_440 = (longlong *)0x0;
|
||||
}
|
||||
else {
|
||||
local_440 = (longlong *)FUN_14006cbf0(0x10);
|
||||
local_440[1] = 1;
|
||||
*local_440 = (longlong)p_Var12;
|
||||
}
|
||||
local_448 = operator_new(0xf0);
|
||||
p_Var12 = p_Var13;
|
||||
if (local_448 != (_Container_base0 *)0x0) {
|
||||
if ((local_440 != (longlong *)0x0) && (*local_440 != 0)) {
|
||||
p_Var12 = (_Container_base0 *)(*local_440 + 0x28);
|
||||
}
|
||||
p_Var12 = (_Container_base0 *)FUN_140064310((undefined8 *)local_448,p_Var12,param_3,param_4);
|
||||
}
|
||||
if (p_Var12 == (_Container_base0 *)0x0) {
|
||||
local_458 = (_Container_base0 *)0x0;
|
||||
}
|
||||
else {
|
||||
p_Var13 = (_Container_base0 *)FUN_14006cbf0(0x48);
|
||||
local_448 = p_Var13;
|
||||
local_430 = p_Var13;
|
||||
if (p_Var13 != (_Container_base0 *)0x0) {
|
||||
uVar14 = FUN_140079250();
|
||||
param_3 = (undefined *)CONCAT71((int7)((ulonglong)param_3 >> 8),1);
|
||||
FUN_14006b270((undefined4 *)p_Var13,uVar14 & 0xffffffff,param_3,param_4);
|
||||
}
|
||||
local_458 = p_Var13;
|
||||
FUN_14006b350((int *)p_Var13);
|
||||
*(longlong *)(p_Var13 + 0x40) = 1;
|
||||
*(_Container_base0 **)(p_Var13 + 0x38) = p_Var12;
|
||||
FUN_14006b3e0((longlong)p_Var13);
|
||||
}
|
||||
puVar15 = operator_new(0x20);
|
||||
if (puVar15 == (undefined8 *)0x0) {
|
||||
local_468 = (longlong *)0x0;
|
||||
}
|
||||
else {
|
||||
*puVar15 = 0;
|
||||
puVar15[1] = 0;
|
||||
puVar15[2] = 0;
|
||||
local_468 = (longlong *)FUN_14006cbf0(0x10);
|
||||
local_468[1] = 1;
|
||||
*local_468 = (longlong)puVar15;
|
||||
}
|
||||
plVar17 = local_468;
|
||||
local_420 = local_468;
|
||||
puVar15 = operator_new(0x20);
|
||||
if (puVar15 == (undefined8 *)0x0) {
|
||||
local_460 = (longlong *)0x0;
|
||||
}
|
||||
else {
|
||||
*puVar15 = 0;
|
||||
puVar15[1] = 0;
|
||||
puVar15[2] = 0;
|
||||
local_460 = (longlong *)FUN_14006cbf0(0x10);
|
||||
local_460[1] = 1;
|
||||
*local_460 = (longlong)puVar15;
|
||||
}
|
||||
plVar20 = local_460;
|
||||
local_430 = (_Container_base0 *)local_460;
|
||||
puVar15 = operator_new(0x20);
|
||||
if (puVar15 == (undefined8 *)0x0) {
|
||||
local_450 = (_Container_base0 *)0x0;
|
||||
}
|
||||
else {
|
||||
*puVar15 = 0;
|
||||
puVar15[1] = 0;
|
||||
puVar15[2] = 0;
|
||||
local_450 = (_Container_base0 *)FUN_14006cbf0(0x10);
|
||||
*(longlong *)(local_450 + 8) = 1;
|
||||
*(undefined8 **)local_450 = puVar15;
|
||||
}
|
||||
p_Var12 = local_450;
|
||||
local_448 = local_450;
|
||||
puVar15 = operator_new(0x20);
|
||||
if (puVar15 == (undefined8 *)0x0) {
|
||||
local_428 = (longlong *)0x0;
|
||||
}
|
||||
else {
|
||||
*puVar15 = 0;
|
||||
puVar15[1] = 0;
|
||||
puVar15[2] = 0;
|
||||
local_428 = (longlong *)FUN_14006cbf0(0x10);
|
||||
local_428[1] = 1;
|
||||
*local_428 = (longlong)puVar15;
|
||||
}
|
||||
plVar1 = local_428;
|
||||
lVar22 = 0;
|
||||
lVar28 = lVar22;
|
||||
if (p_Var13 != (_Container_base0 *)0x0) {
|
||||
lVar28 = *(longlong *)(p_Var13 + 0x38);
|
||||
}
|
||||
*(longlong *)(param_1 + 0x30) = lVar28;
|
||||
lVar28 = lVar22;
|
||||
if (local_440 != (longlong *)0x0) {
|
||||
lVar28 = *local_440;
|
||||
}
|
||||
*(longlong *)(param_1 + 0x58) = lVar28;
|
||||
lVar28 = lVar22;
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
lVar28 = *plVar17;
|
||||
}
|
||||
*(longlong *)(param_1 + 0x60) = lVar28;
|
||||
lVar28 = lVar22;
|
||||
if (plVar20 != (longlong *)0x0) {
|
||||
lVar28 = *plVar20;
|
||||
}
|
||||
*(longlong *)(param_1 + 0x68) = lVar28;
|
||||
lVar28 = lVar22;
|
||||
if (p_Var12 != (_Container_base0 *)0x0) {
|
||||
lVar28 = *(longlong *)p_Var12;
|
||||
}
|
||||
*(longlong *)(param_1 + 0x70) = lVar28;
|
||||
lVar28 = lVar22;
|
||||
if (local_428 != (longlong *)0x0) {
|
||||
lVar28 = *local_428;
|
||||
}
|
||||
*(longlong *)(param_1 + 0x78) = lVar28;
|
||||
local_408[0] = 1;
|
||||
*(undefined4 *)(param_1 + 8) = 1;
|
||||
printf("STEP : AGENT \n");
|
||||
lVar28 = *(longlong *)(param_1 + 0x30);
|
||||
if ((lVar28 != 0) && (*(char *)(lVar28 + 0x1a) != '\0')) {
|
||||
param_4 = (char *)local_408;
|
||||
param_3 = &DAT_1401ac5d0;
|
||||
lVar22 = 1;
|
||||
(**(code **)(*(longlong *)(lVar28 + 0x68) + 0xb0))();
|
||||
}
|
||||
if ((*(longlong *)(param_1 + 0x30) == 0) ||
|
||||
(uVar16 = FUN_140064850(*(longlong *)(param_1 + 0x30),lVar22,param_3,(longlong)param_4),
|
||||
plVar19 = local_428, (char)uVar16 != '\0')) {
|
||||
FUN_140009330(*(ulonglong **)(param_1 + 0x60),*(uint *)(DAT_1401bd038 + 0x144),0xc,
|
||||
(longlong)param_4);
|
||||
FUN_140009330(*(ulonglong **)(param_1 + 0x68),*(uint *)(DAT_1401bd038 + 0x144),0x11,
|
||||
(longlong)param_4);
|
||||
FUN_140009330(*(ulonglong **)(param_1 + 0x70),*(uint *)(DAT_1401bd038 + 0x144),0x12,
|
||||
(longlong)param_4);
|
||||
uVar16 = 0x13;
|
||||
ppsVar23 = (short **)(ulonglong)*(uint *)(DAT_1401bd038 + 0x144);
|
||||
FUN_140009330(*(ulonglong **)(param_1 + 0x78),*(uint *)(DAT_1401bd038 + 0x144),0x13,
|
||||
(longlong)param_4);
|
||||
FUN_140006b20(*(longlong *)(param_1 + 0x58),ppsVar23,uVar16,(longlong)param_4);
|
||||
*(undefined8 *)(*(longlong *)(param_1 + 0x58) + 0xa0) = *(undefined8 *)(param_1 + 0x30);
|
||||
local_418[0] = 3;
|
||||
*(undefined4 *)(param_1 + 8) = 3;
|
||||
printf("STEP : DB_LOAD \n");
|
||||
lVar28 = *(longlong *)(param_1 + 0x30);
|
||||
if ((lVar28 != 0) && (*(char *)(lVar28 + 0x1a) != '\0')) {
|
||||
param_4 = (char *)local_418;
|
||||
ppsVar23 = (short **)0x1;
|
||||
(**(code **)(*(longlong *)(lVar28 + 0x68) + 0xb0))
|
||||
((longlong *)(lVar28 + 0x68),1,&DAT_1401ac5d0);
|
||||
}
|
||||
local_410[0] = 4;
|
||||
*(undefined4 *)(param_1 + 8) = 4;
|
||||
printf("STEP : SESSION_CONNECT \n");
|
||||
lVar28 = *(longlong *)(param_1 + 0x30);
|
||||
if ((lVar28 != 0) && (*(char *)(lVar28 + 0x1a) != '\0')) {
|
||||
param_4 = (char *)local_410;
|
||||
ppsVar23 = (short **)0x1;
|
||||
(**(code **)(*(longlong *)(lVar28 + 0x68) + 0xb0))
|
||||
((longlong *)(lVar28 + 0x68),1,&DAT_1401ac5d0);
|
||||
}
|
||||
local_e8 = (short *)0x0;
|
||||
local_c8 = 7;
|
||||
local_d0 = 0;
|
||||
local_e0 = 0;
|
||||
local_a0 = 7;
|
||||
local_a8 = 0;
|
||||
local_b8 = 0;
|
||||
if (*(longlong *)(DAT_1401bd038 + 0x1c8) != 0) {
|
||||
auVar3._8_8_ = 0;
|
||||
auVar3._0_8_ = *(ulonglong *)(DAT_1401bd038 + 0x1b0);
|
||||
ppsVar23 = SUB168((ZEXT816(0) << 0x40 | ZEXT816(0xc)) % auVar3,0);
|
||||
local_3e0 = (undefined8 *)(*(longlong *)(DAT_1401bd038 + 0x1a8) + (longlong)ppsVar23 * 8);
|
||||
for (local_3d8 = (undefined8 *)*local_3e0; local_3d8 != (undefined8 *)0x0;
|
||||
local_3d8 = (undefined8 *)*local_3d8) {
|
||||
if (*(char *)(local_3d8 + 1) == '\f') {
|
||||
if (local_3d8 != (undefined8 *)0x0) goto LAB_140005542;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
local_3e0 = (undefined8 *)0x0;
|
||||
local_3d8 = (undefined8 *)0x0;
|
||||
LAB_140005542:
|
||||
if ((local_3d8 != (undefined8 *)0x0) &&
|
||||
(puVar15 = (undefined8 *)local_3d8[2], puVar15 != (undefined8 *)local_3d8[3])) {
|
||||
local_e8 = (short *)*puVar15;
|
||||
FUN_140001750((longlong *)&local_e0,puVar15 + 1,0,0xffffffffffffffff);
|
||||
param_4 = (char *)0xffffffffffffffff;
|
||||
uVar14 = 0;
|
||||
FUN_140001750((longlong *)&local_b8,puVar15 + 6,0,0xffffffffffffffff);
|
||||
plVar19 = (longlong *)0x0;
|
||||
plVar18 = plVar19;
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
plVar18 = (longlong *)*plVar17;
|
||||
}
|
||||
ppsVar23 = &local_e8;
|
||||
FUN_1400096b0(plVar18,ppsVar23,uVar14,param_4);
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
plVar19 = (longlong *)*plVar17;
|
||||
}
|
||||
FUN_140009b10(plVar19,(wchar_t *)ppsVar23,uVar14,param_4);
|
||||
}
|
||||
if (7 < local_a0) {
|
||||
operator_delete((void *)CONCAT62(uStack_b6,local_b8));
|
||||
}
|
||||
local_a0 = 7;
|
||||
local_a8 = 0;
|
||||
local_b8 = 0;
|
||||
if (7 < local_c8) {
|
||||
operator_delete((void *)CONCAT62(uStack_de,local_e0));
|
||||
}
|
||||
local_c8 = 7;
|
||||
local_d0 = 0;
|
||||
local_e0 = 0;
|
||||
local_1a8 = (short *)0x0;
|
||||
local_188 = 7;
|
||||
local_190 = 0;
|
||||
local_1a0 = 0;
|
||||
local_160 = 7;
|
||||
local_168 = 0;
|
||||
local_178 = 0;
|
||||
if (*(longlong *)(DAT_1401bd038 + 0x1c8) != 0) {
|
||||
auVar4._8_8_ = 0;
|
||||
auVar4._0_8_ = *(ulonglong *)(DAT_1401bd038 + 0x1b0);
|
||||
ppsVar23 = SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x11)) % auVar4,0);
|
||||
local_3a8 = (undefined8 *)(*(longlong *)(DAT_1401bd038 + 0x1a8) + (longlong)ppsVar23 * 8);
|
||||
for (local_3a0 = (undefined8 *)*local_3a8; local_3a0 != (undefined8 *)0x0;
|
||||
local_3a0 = (undefined8 *)*local_3a0) {
|
||||
if (*(char *)(local_3a0 + 1) == '\x11') {
|
||||
if (local_3a0 != (undefined8 *)0x0) goto LAB_1400056c2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
local_3a8 = (undefined8 *)0x0;
|
||||
local_3a0 = (undefined8 *)0x0;
|
||||
LAB_1400056c2:
|
||||
if ((local_3a0 != (undefined8 *)0x0) &&
|
||||
(puVar15 = (undefined8 *)local_3a0[2], puVar15 != (undefined8 *)local_3a0[3])) {
|
||||
local_1a8 = (short *)*puVar15;
|
||||
FUN_140001750((longlong *)&local_1a0,puVar15 + 1,0,0xffffffffffffffff);
|
||||
param_4 = (char *)0xffffffffffffffff;
|
||||
uVar14 = 0;
|
||||
FUN_140001750((longlong *)&local_178,puVar15 + 6,0,0xffffffffffffffff);
|
||||
plVar17 = (longlong *)0x0;
|
||||
plVar19 = plVar17;
|
||||
if (plVar20 != (longlong *)0x0) {
|
||||
plVar19 = (longlong *)*plVar20;
|
||||
}
|
||||
ppsVar23 = &local_1a8;
|
||||
FUN_1400096b0(plVar19,ppsVar23,uVar14,param_4);
|
||||
if (plVar20 != (longlong *)0x0) {
|
||||
plVar17 = (longlong *)*plVar20;
|
||||
}
|
||||
FUN_140009b10(plVar17,(wchar_t *)ppsVar23,uVar14,param_4);
|
||||
}
|
||||
if (7 < local_160) {
|
||||
operator_delete((void *)CONCAT62(uStack_176,local_178));
|
||||
}
|
||||
local_160 = 7;
|
||||
local_168 = 0;
|
||||
local_178 = 0;
|
||||
if (7 < local_188) {
|
||||
operator_delete((void *)CONCAT62(uStack_19e,local_1a0));
|
||||
}
|
||||
local_188 = 7;
|
||||
local_190 = 0;
|
||||
local_1a0 = 0;
|
||||
local_208 = (short *)0x0;
|
||||
local_1e8 = 7;
|
||||
local_1f0 = 0;
|
||||
local_200 = 0;
|
||||
local_1c0 = 7;
|
||||
local_1c8 = 0;
|
||||
local_1d8 = 0;
|
||||
if (*(longlong *)(DAT_1401bd038 + 0x1c8) != 0) {
|
||||
auVar5._8_8_ = 0;
|
||||
auVar5._0_8_ = *(ulonglong *)(DAT_1401bd038 + 0x1b0);
|
||||
ppsVar23 = SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x12)) % auVar5,0);
|
||||
local_3b8 = (undefined8 *)(*(longlong *)(DAT_1401bd038 + 0x1a8) + (longlong)ppsVar23 * 8);
|
||||
for (local_3b0 = (undefined8 *)*local_3b8; local_3b0 != (undefined8 *)0x0;
|
||||
local_3b0 = (undefined8 *)*local_3b0) {
|
||||
if (*(char *)(local_3b0 + 1) == '\x12') {
|
||||
if (local_3b0 != (undefined8 *)0x0) goto LAB_140005842;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
local_3b8 = (undefined8 *)0x0;
|
||||
local_3b0 = (undefined8 *)0x0;
|
||||
LAB_140005842:
|
||||
if ((local_3b0 != (undefined8 *)0x0) &&
|
||||
(puVar15 = (undefined8 *)local_3b0[2], puVar15 != (undefined8 *)local_3b0[3])) {
|
||||
local_208 = (short *)*puVar15;
|
||||
FUN_140001750((longlong *)&local_200,puVar15 + 1,0,0xffffffffffffffff);
|
||||
param_4 = (char *)0xffffffffffffffff;
|
||||
uVar16 = 0;
|
||||
FUN_140001750((longlong *)&local_1d8,puVar15 + 6,0,0xffffffffffffffff);
|
||||
plVar17 = (longlong *)0x0;
|
||||
plVar20 = plVar17;
|
||||
if (p_Var12 != (_Container_base0 *)0x0) {
|
||||
plVar20 = *(longlong **)p_Var12;
|
||||
}
|
||||
ppsVar23 = &local_208;
|
||||
FUN_1400096b0(plVar20,ppsVar23,uVar16,param_4);
|
||||
if (p_Var12 != (_Container_base0 *)0x0) {
|
||||
plVar17 = *(longlong **)p_Var12;
|
||||
}
|
||||
FUN_140009890(plVar17,(undefined **)ppsVar23,uVar16,param_4);
|
||||
}
|
||||
if (7 < local_1c0) {
|
||||
operator_delete((void *)CONCAT62(uStack_1d6,local_1d8));
|
||||
}
|
||||
local_1c0 = 7;
|
||||
local_1c8 = 0;
|
||||
local_1d8 = 0;
|
||||
if (7 < local_1e8) {
|
||||
operator_delete((void *)CONCAT62(uStack_1fe,local_200));
|
||||
}
|
||||
local_1e8 = 7;
|
||||
local_1f0 = 0;
|
||||
local_200 = 0;
|
||||
local_148 = (short *)0x0;
|
||||
local_128 = 7;
|
||||
local_130 = 0;
|
||||
local_140 = 0;
|
||||
local_100 = 7;
|
||||
local_108 = 0;
|
||||
local_118 = 0;
|
||||
if (*(longlong *)(DAT_1401bd038 + 0x1c8) != 0) {
|
||||
auVar6._8_8_ = 0;
|
||||
auVar6._0_8_ = *(ulonglong *)(DAT_1401bd038 + 0x1b0);
|
||||
ppsVar23 = SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x13)) % auVar6,0);
|
||||
local_3d0 = (undefined8 *)(*(longlong *)(DAT_1401bd038 + 0x1a8) + (longlong)ppsVar23 * 8);
|
||||
for (local_3c8 = (undefined8 *)*local_3d0; local_3c8 != (undefined8 *)0x0;
|
||||
local_3c8 = (undefined8 *)*local_3c8) {
|
||||
if (*(char *)(local_3c8 + 1) == '\x13') {
|
||||
if (local_3c8 != (undefined8 *)0x0) goto LAB_1400059c2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
local_3d0 = (undefined8 *)0x0;
|
||||
local_3c8 = (undefined8 *)0x0;
|
||||
LAB_1400059c2:
|
||||
if ((local_3c8 != (undefined8 *)0x0) &&
|
||||
(puVar15 = (undefined8 *)local_3c8[2], puVar15 != (undefined8 *)local_3c8[3])) {
|
||||
local_148 = (short *)*puVar15;
|
||||
FUN_140001750((longlong *)&local_140,puVar15 + 1,0,0xffffffffffffffff);
|
||||
param_4 = (char *)0xffffffffffffffff;
|
||||
uVar16 = 0;
|
||||
FUN_140001750((longlong *)&local_118,puVar15 + 6,0,0xffffffffffffffff);
|
||||
plVar17 = (longlong *)0x0;
|
||||
plVar20 = plVar17;
|
||||
if (plVar1 != (longlong *)0x0) {
|
||||
plVar20 = (longlong *)*plVar1;
|
||||
}
|
||||
ppsVar23 = &local_148;
|
||||
FUN_1400096b0(plVar20,ppsVar23,uVar16,param_4);
|
||||
if (plVar1 != (longlong *)0x0) {
|
||||
plVar17 = (longlong *)*plVar1;
|
||||
}
|
||||
FUN_140009890(plVar17,(undefined **)ppsVar23,uVar16,param_4);
|
||||
}
|
||||
plVar17 = (longlong *)0x0;
|
||||
uVar14 = local_100;
|
||||
if (7 < local_100) {
|
||||
operator_delete((void *)CONCAT62(uStack_116,local_118));
|
||||
uVar14 = local_100;
|
||||
}
|
||||
local_100 = 7;
|
||||
local_108 = 0;
|
||||
local_118 = 0;
|
||||
if (7 < local_128) {
|
||||
operator_delete((void *)CONCAT62(uStack_13e,local_140));
|
||||
}
|
||||
local_128 = 7;
|
||||
local_130 = 0;
|
||||
local_140 = 0;
|
||||
*(undefined8 *)(*(longlong *)(param_1 + 0x58) + 0x80) = *(undefined8 *)(param_1 + 0x60);
|
||||
*(undefined8 *)(*(longlong *)(param_1 + 0x58) + 0x88) = *(undefined8 *)(param_1 + 0x68);
|
||||
*(undefined8 *)(*(longlong *)(param_1 + 0x58) + 0x90) = *(undefined8 *)(param_1 + 0x70);
|
||||
*(undefined8 *)(*(longlong *)(param_1 + 0x58) + 0x98) = *(undefined8 *)(param_1 + 0x78);
|
||||
FUN_14000a810(L"\n",ppsVar23,uVar14,param_4);
|
||||
FUN_14000a810(L"# Msg Server Running... #\n",ppsVar23,uVar14,param_4);
|
||||
puVar15 = operator_new(0x18);
|
||||
if (puVar15 != (undefined8 *)0x0) {
|
||||
plVar17 = FUN_140118ee0(puVar15);
|
||||
}
|
||||
plVar20 = DAT_1401bd030;
|
||||
if ((undefined8 *)DAT_1401bd030[2] != (undefined8 *)0x0) {
|
||||
(*(code *)**(undefined8 **)DAT_1401bd030[2])();
|
||||
}
|
||||
plVar20[2] = (longlong)plVar17;
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
lVar28 = (**(code **)(*plVar17 + 8))(plVar17);
|
||||
plVar20[6] = lVar28;
|
||||
plVar20[7] = lVar28;
|
||||
}
|
||||
plVar20[0x12] = 0x3ff0000000000000;
|
||||
puVar15 = operator_new(0x28);
|
||||
local_3c0 = puVar15;
|
||||
if (puVar15 == (undefined8 *)0x0) {
|
||||
puVar15 = (undefined8 *)0x0;
|
||||
}
|
||||
else {
|
||||
*puVar15 = Magi::Timer::vftable;
|
||||
plVar17 = DAT_1401bd030;
|
||||
puVar15[1] = DAT_1401bd030;
|
||||
puVar15[2] = 0;
|
||||
puVar15[3] = 0;
|
||||
*(undefined1 *)(puVar15 + 4) = 0;
|
||||
*(undefined4 *)((longlong)puVar15 + 0x24) = 0x3f800000;
|
||||
(**(code **)(*plVar17 + 0x10))();
|
||||
}
|
||||
lVar28 = local_438;
|
||||
*(undefined8 **)(local_438 + 0x48) = puVar15;
|
||||
local_348 = 0;
|
||||
memset(local_346,0,0x9e);
|
||||
puVar26 = (undefined *)0xa0;
|
||||
memset(local_2a8,0,0xa0);
|
||||
uVar29 = 0;
|
||||
uVar30 = 0;
|
||||
_Src = (char *)0x0;
|
||||
if (p_Var13 != (_Container_base0 *)0x0) {
|
||||
_Src = *(char **)(p_Var13 + 0x38);
|
||||
}
|
||||
FUN_140001cd0(lVar28,_Src);
|
||||
plVar17 = (longlong *)(lVar28 + 0x60);
|
||||
lVar22 = 4;
|
||||
do {
|
||||
iVar11 = *(int *)(DAT_1401bd038 + 0x144);
|
||||
pcVar25 = (char *)0x0;
|
||||
if (0 < (longlong)iVar11) {
|
||||
do {
|
||||
if ((longlong *)*plVar17 != (longlong *)0x0) {
|
||||
_Src = *(char **)(*(longlong *)*plVar17 + (longlong)pcVar25 * 8);
|
||||
FUN_140001cd0(lVar28,_Src);
|
||||
}
|
||||
pcVar25 = pcVar25 + 1;
|
||||
} while ((longlong)pcVar25 < (longlong)iVar11);
|
||||
}
|
||||
plVar17 = plVar17 + 1;
|
||||
lVar22 = lVar22 + -1;
|
||||
} while (lVar22 != 0);
|
||||
local_3c0 = (undefined8 *)CONCAT44(local_3c0._4_4_,5);
|
||||
*(undefined4 *)(lVar28 + 8) = 5;
|
||||
if (DAT_1401bcf04 != 0) {
|
||||
printf("********************************\n");
|
||||
DVar9 = timeGetTime();
|
||||
_Src = (char *)((ulonglong)(DVar9 - DAT_1401bcf04) / 1000);
|
||||
printf("** Server Load Time : %u sec\n");
|
||||
printf("********************************\n");
|
||||
}
|
||||
printf("STEP : SERVER_RUN \n");
|
||||
lVar22 = *(longlong *)(lVar28 + 0x30);
|
||||
if ((lVar22 != 0) && (*(char *)(lVar22 + 0x1a) != '\0')) {
|
||||
param_4 = (char *)&local_3c0;
|
||||
puVar26 = &DAT_1401ac5d0;
|
||||
_Src = (char *)0x1;
|
||||
(**(code **)(*(longlong *)(lVar22 + 0x68) + 0xb0))();
|
||||
}
|
||||
puVar15 = (undefined8 *)(lVar28 + 0x60);
|
||||
pcVar25 = (char *)0x0;
|
||||
uVar31 = uVar29;
|
||||
uVar33 = uVar30;
|
||||
while ((DAT_1401bcf14 == 0 && (*(char *)(*(longlong *)(lVar28 + 0x58) + 0x30) == '\0'))) {
|
||||
if (*(char *)(*(longlong *)(lVar28 + 0x58) + 0x34) != '\0') {
|
||||
lVar22 = *(longlong *)(lVar28 + 0x30);
|
||||
if (lVar22 != 0) {
|
||||
printf("Server Lock Check Succeed !!!\n");
|
||||
puVar26 = &DAT_1401ac5d0;
|
||||
_Src = (char *)0x1;
|
||||
(**(code **)(*(longlong *)(lVar22 + 0x68) + 0x70))();
|
||||
}
|
||||
*(undefined1 *)(*(longlong *)(lVar28 + 0x58) + 0x34) = 0;
|
||||
}
|
||||
FUN_1401192a0((longlong)DAT_1401bd030);
|
||||
dVar2 = *(double *)(*(longlong *)(lVar28 + 0x48) + 0x10);
|
||||
local_360 = "DBCSessionManager->Process";
|
||||
DVar9 = timeGetTime();
|
||||
local_358 = DVar9;
|
||||
if ((longlong *)*puVar15 != (longlong *)0x0) {
|
||||
FUN_140009500((longlong *)*puVar15,dVar2);
|
||||
}
|
||||
if (*(longlong **)(lVar28 + 0x68) != (longlong *)0x0) {
|
||||
FUN_140009500(*(longlong **)(lVar28 + 0x68),dVar2);
|
||||
}
|
||||
DVar10 = timeGetTime();
|
||||
if (0x32 < DVar10 - DVar9) {
|
||||
param_4 = "DBCSessionManager->Process";
|
||||
puVar26 = (undefined *)(ulonglong)(DVar10 - DVar9);
|
||||
_Src = "% 9d [ ms ] %s\n";
|
||||
FUN_14011b2e0(DAT_1401ba9e8,"% 9d [ ms ] %s\n",puVar26,"DBCSessionManager->Process");
|
||||
}
|
||||
local_378 = "AgentSession->Process";
|
||||
local_370 = timeGetTime();
|
||||
if ((*(longlong *)(lVar28 + 0x30) != 0) &&
|
||||
(_Src = DAT_1401bd038, DAT_1401bd038[0x150] != '\0')) {
|
||||
FUN_140002540(*(longlong *)(lVar28 + 0x30),dVar2);
|
||||
lVar22 = *(longlong *)(lVar28 + 0x30);
|
||||
if ((lVar22 != 0) &&
|
||||
((*(char *)(lVar22 + 0x1a) != '\0' && (*(double *)(lVar28 + 0x38) + 1.0 <= dVar2)))) {
|
||||
*(double *)(lVar28 + 0x38) = dVar2;
|
||||
FUN_140064b50(lVar22,*(undefined4 *)(*(longlong *)(lVar28 + 0x58) + 0x10c));
|
||||
}
|
||||
local_400 = (void *)0x0;
|
||||
local_3f8 = 0;
|
||||
local_3f0 = 0;
|
||||
lVar22 = *(longlong *)(lVar28 + 0x30);
|
||||
local_388 = (int *)(lVar22 + 0xb8);
|
||||
FUN_14006b350(local_388);
|
||||
local_380 = 1;
|
||||
FUN_140064d80((longlong *)&local_400,(longlong *)(lVar22 + 0x98));
|
||||
_Src = *(char **)(lVar22 + 0xa0);
|
||||
pcVar21 = *(char **)(lVar22 + 0x98);
|
||||
if (pcVar21 != _Src) {
|
||||
puVar26 = (undefined *)0x0;
|
||||
memmove(pcVar21,_Src,0);
|
||||
*(char **)(lVar22 + 0xa0) = pcVar21;
|
||||
lVar28 = local_438;
|
||||
}
|
||||
FUN_14006b3e0((longlong)local_388);
|
||||
local_380 = 0;
|
||||
pcVar21 = pcVar25;
|
||||
pcVar27 = pcVar25;
|
||||
if (local_3f8 - (longlong)local_400 >> 2 != 0) {
|
||||
do {
|
||||
param_4 = (char *)(ulonglong)*(uint *)((longlong)local_400 + (longlong)pcVar21);
|
||||
iVar11 = (int)(*(longlong *)(lVar28 + 0x18) - *(longlong *)(lVar28 + 0x10) >> 3);
|
||||
puVar26 = (undefined *)(longlong)iVar11;
|
||||
_Src = pcVar25;
|
||||
if (0 < iVar11) {
|
||||
plVar17 = *(longlong **)(lVar28 + 0x10);
|
||||
do {
|
||||
if ((*plVar17 != 0) &&
|
||||
(*(uint *)(*plVar17 + 0x3c) == *(uint *)((longlong)local_400 + (longlong)pcVar21)
|
||||
)) {
|
||||
*(undefined1 *)((*(longlong **)(lVar28 + 0x10))[(longlong)_Src] + 0x1c) = 1;
|
||||
break;
|
||||
}
|
||||
_Src = _Src + 1;
|
||||
plVar17 = plVar17 + 1;
|
||||
} while ((longlong)_Src < (longlong)puVar26);
|
||||
}
|
||||
pcVar27 = (char *)(ulonglong)((int)pcVar27 + 1);
|
||||
pcVar21 = pcVar21 + 4;
|
||||
} while (pcVar27 < (char *)(local_3f8 - (longlong)local_400 >> 2));
|
||||
}
|
||||
if (local_400 != (void *)0x0) {
|
||||
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_400);
|
||||
operator_delete(local_400);
|
||||
}
|
||||
local_400 = (void *)0x0;
|
||||
local_3f8 = 0;
|
||||
local_3f0 = 0;
|
||||
}
|
||||
DVar9 = timeGetTime();
|
||||
if (0x32 < DVar9 - local_370) {
|
||||
param_4 = "AgentSession->Process";
|
||||
puVar26 = (undefined *)(ulonglong)(DVar9 - local_370);
|
||||
_Src = "% 9d [ ms ] %s\n";
|
||||
FUN_14011b2e0(DAT_1401ba9e8,"% 9d [ ms ] %s\n",puVar26,"AgentSession->Process");
|
||||
}
|
||||
if (DAT_1401bcf0f != '\0') {
|
||||
printf("RetryConnectSession\n");
|
||||
iVar11 = (int)(*(longlong *)(lVar28 + 0x18) - *(longlong *)(lVar28 + 0x10) >> 3);
|
||||
_Src = (char *)(longlong)iVar11;
|
||||
pcVar21 = pcVar25;
|
||||
if (0 < iVar11) {
|
||||
do {
|
||||
if (*(longlong *)(*(longlong *)(lVar28 + 0x10) + (longlong)pcVar21 * 8) != 0) {
|
||||
*(undefined1 *)
|
||||
(*(longlong *)(*(longlong *)(lVar28 + 0x10) + (longlong)pcVar21 * 8) + 0x1c) = 1;
|
||||
}
|
||||
pcVar21 = pcVar21 + 1;
|
||||
} while ((longlong)pcVar21 < (longlong)_Src);
|
||||
}
|
||||
DAT_1401bcf0f = DAT_1401bcf0f == '\0';
|
||||
}
|
||||
uVar32 = (undefined4)((ulonglong)dVar2 >> 0x20);
|
||||
if (0.10000000149011612 <= dVar2 - (double)CONCAT44(uVar33,uVar31)) {
|
||||
DAT_1401bcf1c = DAT_1401bcf1c + 1;
|
||||
FUN_140004960(lVar28);
|
||||
uVar31 = SUB84(dVar2,0);
|
||||
uVar33 = uVar32;
|
||||
}
|
||||
if (1.0 <= dVar2 - (double)CONCAT44(uVar30,uVar29)) {
|
||||
if (DAT_1401bcf18 != 0) {
|
||||
puVar26 = (undefined *)(ulonglong)*(uint *)(*(longlong *)(lVar28 + 0x58) + 0x10c);
|
||||
_Src = (char *)(ulonglong)DAT_1401bcf1c;
|
||||
printf("FPS : [%d], Connect[%d]\n");
|
||||
}
|
||||
DAT_1401bcf20 = DAT_1401bcf1c;
|
||||
DAT_1401bcf1c = 0;
|
||||
uVar29 = SUB84(dVar2,0);
|
||||
uVar30 = uVar32;
|
||||
}
|
||||
if (DAT_1401bcf10 != 0) {
|
||||
DAT_1401bcf10 = 0;
|
||||
wprintf(L"-MSG SERVER [CODE:%d]----------------------------------------------------\n",
|
||||
(ulonglong)*(uint *)(DAT_1401bd038 + 0x154));
|
||||
lVar22 = *(longlong *)(lVar28 + 0x58);
|
||||
puVar24 = *(undefined **)(lVar22 + 0x48);
|
||||
if (*(undefined **)(lVar22 + 0x48) == (undefined *)0x0) {
|
||||
puVar24 = PTR_DAT_1401ac010;
|
||||
}
|
||||
puVar26 = (undefined *)(ulonglong)*(uint *)(lVar22 + 0x50);
|
||||
wprintf(L"PRIVATE NETWORK : ADDRESS[ %s ] PORT[ %d ]\n",puVar24);
|
||||
_Src = (char *)(ulonglong)*(uint *)(lVar22 + 0x54);
|
||||
if ((0 < (int)*(uint *)(lVar22 + 0x54)) &&
|
||||
(puVar26 = (undefined *)(ulonglong)*(uint *)(lVar22 + 0x58),
|
||||
*(uint *)(lVar22 + 0x58) != 0)) {
|
||||
wprintf(L"UDP : PORT [ %d ] COUNT [ %d ]\n");
|
||||
}
|
||||
FUN_140001d70(lVar28);
|
||||
}
|
||||
*(double *)(lVar28 + 0x50) = dVar2;
|
||||
Sleep(1);
|
||||
}
|
||||
FUN_14000a950(L"+ Prepare Stop\n",_Src,puVar26,param_4);
|
||||
plVar17 = local_420;
|
||||
p_Var12 = local_430;
|
||||
p_Var13 = local_448;
|
||||
lVar22 = *(longlong *)(lVar28 + 0x58);
|
||||
puVar15 = *(undefined8 **)(lVar22 + 0x40);
|
||||
if (puVar15 != (undefined8 *)0x0) {
|
||||
_Src = (char *)0x1;
|
||||
(**(code **)*puVar15)();
|
||||
}
|
||||
*(undefined8 *)(lVar22 + 0x40) = 0;
|
||||
CoUninitialize();
|
||||
FUN_14000a810(L"# Msg Server Stoped... #\n",_Src,puVar26,param_4);
|
||||
if (*(char *)(*(longlong *)(lVar28 + 0x58) + 0x30) == '\0') {
|
||||
FUN_14000a950(L"Press any key... \n",_Src,puVar26,param_4);
|
||||
getchar();
|
||||
}
|
||||
plVar20 = local_428;
|
||||
if (plVar1 != (longlong *)0x0) {
|
||||
plVar1 = plVar1 + 1;
|
||||
*plVar1 = *plVar1 + -1;
|
||||
plVar17 = local_468;
|
||||
p_Var12 = (_Container_base0 *)local_460;
|
||||
p_Var13 = local_450;
|
||||
if (*plVar1 == 0) {
|
||||
p_Var13 = (_Container_base0 *)*local_428;
|
||||
local_448 = p_Var13;
|
||||
if (p_Var13 != (_Container_base0 *)0x0) {
|
||||
FUN_140009470((longlong *)p_Var13);
|
||||
if (DAT_1401bcf28 != (void *)0x0) {
|
||||
operator_delete__(DAT_1401bcf28);
|
||||
DAT_1401bcf28 = (void *)0x0;
|
||||
}
|
||||
if (*(longlong *)p_Var13 != 0) {
|
||||
std::_Container_base0::_Orphan_all(p_Var13);
|
||||
operator_delete(*(void **)p_Var13);
|
||||
}
|
||||
*(undefined8 *)p_Var13 = 0;
|
||||
*(undefined8 *)(p_Var13 + 8) = 0;
|
||||
*(undefined8 *)(p_Var13 + 0x10) = 0;
|
||||
operator_delete(p_Var13);
|
||||
}
|
||||
FUN_14006cc60(plVar20);
|
||||
plVar17 = local_468;
|
||||
p_Var12 = (_Container_base0 *)local_460;
|
||||
p_Var13 = local_450;
|
||||
}
|
||||
}
|
||||
p_Var8 = local_450;
|
||||
if (p_Var13 != (_Container_base0 *)0x0) {
|
||||
p_Var13 = p_Var13 + 8;
|
||||
*(longlong *)p_Var13 = *(longlong *)p_Var13 + -1;
|
||||
plVar17 = local_468;
|
||||
p_Var12 = (_Container_base0 *)local_460;
|
||||
if (*(longlong *)p_Var13 == 0) {
|
||||
FUN_140006460((undefined8 *)local_450);
|
||||
FUN_14006cc60(p_Var8);
|
||||
plVar17 = local_468;
|
||||
p_Var12 = (_Container_base0 *)local_460;
|
||||
}
|
||||
}
|
||||
plVar20 = local_460;
|
||||
if (p_Var12 != (_Container_base0 *)0x0) {
|
||||
plVar1 = (longlong *)((longlong)p_Var12 + 8);
|
||||
*plVar1 = *plVar1 + -1;
|
||||
plVar17 = local_468;
|
||||
if (*plVar1 == 0) {
|
||||
FUN_140006460(local_460);
|
||||
FUN_14006cc60(plVar20);
|
||||
plVar17 = local_468;
|
||||
}
|
||||
}
|
||||
plVar20 = local_468;
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
plVar17 = plVar17 + 1;
|
||||
*plVar17 = *plVar17 + -1;
|
||||
if (*plVar17 == 0) {
|
||||
FUN_140006460(local_468);
|
||||
FUN_14006cc60(plVar20);
|
||||
}
|
||||
}
|
||||
FUN_140006360((longlong *)&local_458,_Src,puVar26,param_4);
|
||||
}
|
||||
else {
|
||||
if (plVar1 != (longlong *)0x0) {
|
||||
plVar1 = plVar1 + 1;
|
||||
*plVar1 = *plVar1 + -1;
|
||||
p_Var13 = local_458;
|
||||
plVar17 = local_468;
|
||||
plVar20 = local_460;
|
||||
p_Var12 = local_450;
|
||||
if (*plVar1 == 0) {
|
||||
FUN_140006460(local_428);
|
||||
FUN_14006cc60(plVar19);
|
||||
p_Var13 = local_458;
|
||||
plVar17 = local_468;
|
||||
plVar20 = local_460;
|
||||
p_Var12 = local_450;
|
||||
}
|
||||
}
|
||||
p_Var8 = local_450;
|
||||
if (p_Var12 != (_Container_base0 *)0x0) {
|
||||
p_Var12 = p_Var12 + 8;
|
||||
*(longlong *)p_Var12 = *(longlong *)p_Var12 + -1;
|
||||
p_Var13 = local_458;
|
||||
plVar17 = local_468;
|
||||
plVar20 = local_460;
|
||||
if (*(longlong *)p_Var12 == 0) {
|
||||
FUN_140006460((undefined8 *)local_450);
|
||||
FUN_14006cc60(p_Var8);
|
||||
p_Var13 = local_458;
|
||||
plVar17 = local_468;
|
||||
plVar20 = local_460;
|
||||
}
|
||||
}
|
||||
plVar1 = local_460;
|
||||
if (plVar20 != (longlong *)0x0) {
|
||||
plVar20 = plVar20 + 1;
|
||||
*plVar20 = *plVar20 + -1;
|
||||
p_Var13 = local_458;
|
||||
plVar17 = local_468;
|
||||
if (*plVar20 == 0) {
|
||||
FUN_140006460(local_460);
|
||||
FUN_14006cc60(plVar1);
|
||||
p_Var13 = local_458;
|
||||
plVar17 = local_468;
|
||||
}
|
||||
}
|
||||
plVar20 = local_468;
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
plVar17 = plVar17 + 1;
|
||||
*plVar17 = *plVar17 + -1;
|
||||
p_Var13 = local_458;
|
||||
if (*plVar17 == 0) {
|
||||
FUN_140006460(local_468);
|
||||
FUN_14006cc60(plVar20);
|
||||
p_Var13 = local_458;
|
||||
}
|
||||
}
|
||||
if (p_Var13 != (_Container_base0 *)0x0) {
|
||||
local_398 = p_Var13;
|
||||
FUN_14006b350((int *)p_Var13);
|
||||
bVar7 = true;
|
||||
local_390 = 1;
|
||||
p_Var12 = p_Var13 + 0x40;
|
||||
*(longlong *)p_Var12 = *(longlong *)p_Var12 + -1;
|
||||
if (*(longlong *)p_Var12 == 0) {
|
||||
FUN_14006b3e0((longlong)p_Var13);
|
||||
bVar7 = false;
|
||||
local_390 = 0;
|
||||
local_448 = p_Var13;
|
||||
if (*(undefined8 **)(p_Var13 + 0x38) != (undefined8 *)0x0) {
|
||||
lVar22 = 1;
|
||||
(**(code **)**(undefined8 **)(p_Var13 + 0x38))();
|
||||
}
|
||||
FUN_14006b400((undefined4 *)p_Var13,lVar22,param_3,param_4);
|
||||
FUN_14006cc60(p_Var13);
|
||||
}
|
||||
if (bVar7) {
|
||||
FUN_14006b3e0((longlong)p_Var13);
|
||||
local_390 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
plVar17 = local_440;
|
||||
if (local_440 != (longlong *)0x0) {
|
||||
plVar20 = local_440 + 1;
|
||||
*plVar20 = *plVar20 + -1;
|
||||
if (*plVar20 == 0) {
|
||||
puVar15 = (undefined8 *)*local_440;
|
||||
if (puVar15 != (undefined8 *)0x0) {
|
||||
(**(code **)*puVar15)(puVar15,1);
|
||||
}
|
||||
FUN_14006cc60(plVar17);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006300 FUN_140006300
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140006300(longlong *param_1)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
undefined8 *puVar2;
|
||||
|
||||
if ((*param_1 != 0) &&
|
||||
(*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1,
|
||||
*(longlong *)(*param_1 + 8) == 0)) {
|
||||
plVar1 = (longlong *)*param_1;
|
||||
puVar2 = (undefined8 *)*plVar1;
|
||||
if (puVar2 != (undefined8 *)0x0) {
|
||||
(**(code **)*puVar2)(puVar2,1);
|
||||
}
|
||||
FUN_14006cc60(plVar1);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006360 FUN_140006360
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140006360(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
int *piVar1;
|
||||
undefined4 *puVar2;
|
||||
bool bVar3;
|
||||
|
||||
piVar1 = (int *)*param_1;
|
||||
if (piVar1 != (int *)0x0) {
|
||||
FUN_14006b350(piVar1);
|
||||
bVar3 = true;
|
||||
*(longlong *)(*param_1 + 0x40) = *(longlong *)(*param_1 + 0x40) + -1;
|
||||
if (*(longlong *)(*param_1 + 0x40) == 0) {
|
||||
FUN_14006b3e0((longlong)piVar1);
|
||||
bVar3 = false;
|
||||
puVar2 = (undefined4 *)*param_1;
|
||||
if (*(undefined8 **)(puVar2 + 0xe) != (undefined8 *)0x0) {
|
||||
param_2 = 1;
|
||||
(**(code **)**(undefined8 **)(puVar2 + 0xe))();
|
||||
}
|
||||
FUN_14006b400(puVar2,param_2,param_3,param_4);
|
||||
FUN_14006cc60(puVar2);
|
||||
}
|
||||
if (bVar3) {
|
||||
FUN_14006b3e0((longlong)piVar1);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006410 FUN_140006410
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140006410(longlong *param_1)
|
||||
|
||||
{
|
||||
undefined8 *puVar1;
|
||||
|
||||
if ((*param_1 != 0) &&
|
||||
(*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1,
|
||||
*(longlong *)(*param_1 + 8) == 0)) {
|
||||
puVar1 = (undefined8 *)*param_1;
|
||||
FUN_140006460(puVar1);
|
||||
FUN_14006cc60(puVar1);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006460 FUN_140006460
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140006460(undefined8 *param_1)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
|
||||
plVar1 = (longlong *)*param_1;
|
||||
if (plVar1 != (longlong *)0x0) {
|
||||
FUN_140009470(plVar1);
|
||||
if (DAT_1401bcf28 != (void *)0x0) {
|
||||
operator_delete__(DAT_1401bcf28);
|
||||
DAT_1401bcf28 = (void *)0x0;
|
||||
}
|
||||
if ((void *)*plVar1 != (void *)0x0) {
|
||||
operator_delete((void *)*plVar1);
|
||||
}
|
||||
*plVar1 = 0;
|
||||
plVar1[1] = 0;
|
||||
plVar1[2] = 0;
|
||||
operator_delete(plVar1);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400064e0 FUN_1400064e0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400064e0(undefined4 param_1)
|
||||
|
||||
{
|
||||
undefined4 local_res8 [8];
|
||||
|
||||
local_res8[0] = param_1;
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_res8,(ThrowInfo *)&DAT_1401a9388);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006500 FUN_140006500
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140006500(undefined8 *param_1,undefined8 *param_2,size_t param_3)
|
||||
|
||||
{
|
||||
undefined1 uVar1;
|
||||
undefined8 uVar2;
|
||||
undefined8 *puVar3;
|
||||
ulonglong uVar4;
|
||||
ulonglong uVar5;
|
||||
|
||||
if (param_3 < 0x21) {
|
||||
uVar5 = (ulonglong)((uint)param_3 & 7);
|
||||
for (uVar4 = param_3 >> 3; uVar4 != 0; uVar4 = uVar4 - 1) {
|
||||
uVar2 = *param_2;
|
||||
param_2 = param_2 + 1;
|
||||
*param_1 = uVar2;
|
||||
param_1 = param_1 + 1;
|
||||
}
|
||||
if (uVar5 != 0) {
|
||||
puVar3 = param_2;
|
||||
do {
|
||||
uVar1 = *(undefined1 *)puVar3;
|
||||
puVar3 = (undefined8 *)((longlong)puVar3 + 1);
|
||||
uVar5 = uVar5 - 1;
|
||||
*(undefined1 *)((longlong)param_1 + (-1 - (longlong)param_2) + (longlong)puVar3) = uVar1;
|
||||
} while (uVar5 != 0);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
memcpy(param_1,param_2,param_3);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006560 FUN_140006560
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
exception *
|
||||
FUN_140006560(exception *param_1,exception *param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
exception *peVar1;
|
||||
exception *peVar2;
|
||||
|
||||
peVar1 = param_1;
|
||||
peVar2 = param_2;
|
||||
std::exception::exception(param_1,param_2);
|
||||
*(undefined ***)param_1 = Proud::Exception::vftable;
|
||||
*(undefined4 *)(param_1 + 0x18) = *(undefined4 *)(param_2 + 0x18);
|
||||
*(undefined8 *)(param_1 + 0x20) = *(undefined8 *)(param_2 + 0x20);
|
||||
*(undefined8 *)(param_1 + 0x28) = *(undefined8 *)(param_2 + 0x28);
|
||||
*(undefined8 *)(param_1 + 0x30) = *(undefined8 *)(param_2 + 0x30);
|
||||
*(undefined4 *)(param_1 + 0x38) = *(undefined4 *)(param_2 + 0x38);
|
||||
FUN_14006cb70(peVar1,peVar2,param_3,param_4);
|
||||
*(undefined **)(param_1 + 0x40) = PTR_DAT_1401ac008;
|
||||
FUN_1400083a0((longlong *)(param_1 + 0x40),(longlong *)(param_2 + 0x40),param_3,param_4);
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400065f0 FUN_1400065f0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
exception * FUN_1400065f0(exception *param_1,uint param_2)
|
||||
|
||||
{
|
||||
FUN_14006b6c0(param_1);
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006620 FUN_140006620
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140006620(undefined8 *param_1)
|
||||
|
||||
{
|
||||
*param_1 = Proud::INetServerEvent::vftable;
|
||||
FUN_1400780b0(param_1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006630 std::bad_alloc::`scalar_deleting_destructor'
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* Library Function - Single Match
|
||||
public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned
|
||||
int) __ptr64
|
||||
|
||||
Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */
|
||||
|
||||
void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1)
|
||||
|
||||
{
|
||||
*(undefined ***)this = Proud::INetServerEvent::vftable;
|
||||
FUN_1400780b0((undefined8 *)this);
|
||||
if ((param_1 & 1) != 0) {
|
||||
operator_delete(this);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006670 FUN_140006670
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 FUN_140006670(void)
|
||||
|
||||
{
|
||||
return 15000;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006680 FUN_140006680
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 FUN_140006680(void)
|
||||
|
||||
{
|
||||
return 0x3aa1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006690 FUN_140006690
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400067ea) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400067f3) */
|
||||
/* WARNING: Removing unreachable block (ram,0x000140006814) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014000681d) */
|
||||
|
||||
undefined8 *
|
||||
FUN_140006690(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
ulonglong uVar1;
|
||||
undefined8 *puVar2;
|
||||
undefined1 uVar3;
|
||||
undefined7 uVar4;
|
||||
|
||||
uVar3 = (undefined1)param_3;
|
||||
uVar4 = (undefined7)((ulonglong)param_3 >> 8);
|
||||
*param_1 = Proud::INetServerEvent::vftable;
|
||||
puVar2 = param_1 + 1;
|
||||
FUN_1400c15c0(puVar2);
|
||||
param_1[1] = RNP::Servers2MsgStub::vftable;
|
||||
param_1[5] = MagiAgentReceive::vftable;
|
||||
*(undefined4 *)(param_1 + 6) = 0;
|
||||
*(undefined2 *)((longlong)param_1 + 0x34) = 0;
|
||||
*(undefined1 *)((longlong)param_1 + 0x36) = 0;
|
||||
*(undefined4 *)(param_1 + 7) = 0;
|
||||
param_1[8] = 0;
|
||||
FUN_14006cb70(puVar2,param_2,CONCAT71(uVar4,uVar3),param_4);
|
||||
param_1[9] = PTR_DAT_1401ac010;
|
||||
param_1[10] = 0;
|
||||
*(undefined4 *)(param_1 + 0xb) = 0;
|
||||
*param_1 = MagiMsgNetwork::vftable;
|
||||
param_1[1] = MagiMsgNetwork::vftable;
|
||||
param_1[5] = MagiMsgNetwork::vftable;
|
||||
puVar2 = param_1 + 0xc;
|
||||
FUN_1400be340(puVar2);
|
||||
*puVar2 = MSG2SERVERS_PROTOCOL::Proxy::vftable;
|
||||
if (*(int *)((longlong)param_1 + 0x74) != 1) {
|
||||
FUN_14006c280((wchar_t *)PTR_u_PIDL_compiler_is_incompatible_to_1401ad790);
|
||||
}
|
||||
*puVar2 = RNP::Msg2ServersProxy::vftable;
|
||||
*(undefined1 *)(param_1 + 0xf) = 0;
|
||||
*(undefined4 *)(param_1 + 0x15) = 1;
|
||||
*(undefined1 *)(param_1 + 0x16) = 0;
|
||||
param_1[0x20] = 0;
|
||||
param_1[0x17] = 0;
|
||||
param_1[0x18] = 0;
|
||||
param_1[0x19] = 0;
|
||||
*(undefined4 *)(param_1 + 0x1b) = 0x11;
|
||||
param_1[0x1a] = 0;
|
||||
*(undefined4 *)(param_1 + 0x1f) = 0;
|
||||
*(undefined4 *)((longlong)param_1 + 0xdc) = 0x3f400000;
|
||||
*(undefined4 *)(param_1 + 0x1c) = 0x3e800000;
|
||||
*(undefined4 *)((longlong)param_1 + 0xe4) = 0x40100000;
|
||||
param_1[0x1d] = 0x26;
|
||||
param_1[0x1e] = 0;
|
||||
param_1[0x21] = 0;
|
||||
uVar1 = FUN_140079250();
|
||||
FUN_14006b270((undefined4 *)(param_1 + 0x22),uVar1 & 0xffffffff,CONCAT71(uVar4,1),param_4);
|
||||
param_1[0x10] = 0;
|
||||
param_1[0x11] = 0;
|
||||
param_1[0x12] = 0;
|
||||
param_1[0x13] = 0;
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006890 FUN_140006890
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 *
|
||||
FUN_140006890(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
FUN_1400068c0(param_1,param_2,param_3,param_4);
|
||||
if ((param_2 & 1) != 0) {
|
||||
operator_delete(param_1);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400068c0 FUN_1400068c0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400068c0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
|
||||
*param_1 = MagiMsgNetwork::vftable;
|
||||
param_1[1] = MagiMsgNetwork::vftable;
|
||||
param_1[5] = MagiMsgNetwork::vftable;
|
||||
plVar1 = param_1 + 8;
|
||||
if ((undefined8 *)*plVar1 != (undefined8 *)0x0) {
|
||||
param_2 = 1;
|
||||
(*(code *)**(undefined8 **)*plVar1)();
|
||||
}
|
||||
*plVar1 = 0;
|
||||
FUN_14006b400((undefined4 *)(param_1 + 0x22),param_2,param_3,param_4);
|
||||
FUN_140008320((char *)(param_1 + 0x16));
|
||||
param_1[0xc] = RNP::Msg2ServersProxy::vftable;
|
||||
FUN_1400be370(param_1 + 0xc);
|
||||
if ((undefined8 *)*plVar1 != (undefined8 *)0x0) {
|
||||
param_2 = 1;
|
||||
(*(code *)**(undefined8 **)*plVar1)();
|
||||
}
|
||||
*plVar1 = 0;
|
||||
FUN_1400031e0(param_1 + 9,param_2,param_3,param_4);
|
||||
param_1[5] = MagiAgentReceive::vftable;
|
||||
param_1[1] = RNP::Servers2MsgStub::vftable;
|
||||
FUN_1400c15f0(param_1 + 1);
|
||||
*param_1 = Proud::INetServerEvent::vftable;
|
||||
FUN_1400780b0(param_1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400069c0 FUN_1400069c0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400069c0(undefined8 param_1,int *param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
int *piVar1;
|
||||
longlong *plVar2;
|
||||
int *piVar3;
|
||||
wchar_t *pwVar4;
|
||||
undefined *puVar5;
|
||||
undefined *local_res18 [2];
|
||||
|
||||
plVar2 = FUN_140078d30(param_2,(longlong *)local_res18,param_3,param_4);
|
||||
puVar5 = (undefined *)*plVar2;
|
||||
if ((undefined *)*plVar2 == (undefined *)0x0) {
|
||||
puVar5 = PTR_DAT_1401ac010;
|
||||
}
|
||||
pwVar4 = L"OnError MagiMsgNetwork : %s";
|
||||
FUN_14000ad20(L"OnError MagiMsgNetwork : %s",puVar5,param_3,param_4);
|
||||
if (((local_res18[0] != (undefined *)0x0) && (local_res18[0] != PTR_DAT_1401ac010)) &&
|
||||
(local_res18[0] + -8 != (undefined *)0x0)) {
|
||||
piVar3 = (int *)FUN_14006cb70(pwVar4,puVar5,param_3,param_4);
|
||||
FUN_14006b350(piVar3);
|
||||
piVar1 = (int *)(local_res18[0] + -4);
|
||||
*piVar1 = *piVar1 + -1;
|
||||
if (*piVar1 == 0) {
|
||||
FUN_14006cc60(local_res18[0] + -8);
|
||||
}
|
||||
FUN_14006b3e0((longlong)piVar3);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006a60 FUN_140006a60
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140006a60(undefined8 param_1,int *param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
int *piVar1;
|
||||
longlong *plVar2;
|
||||
int *piVar3;
|
||||
wchar_t *pwVar4;
|
||||
undefined *puVar5;
|
||||
undefined *local_res18 [2];
|
||||
|
||||
plVar2 = FUN_140078d30(param_2,(longlong *)local_res18,param_3,param_4);
|
||||
puVar5 = (undefined *)*plVar2;
|
||||
if ((undefined *)*plVar2 == (undefined *)0x0) {
|
||||
puVar5 = PTR_DAT_1401ac010;
|
||||
}
|
||||
pwVar4 = L"OnWarning MagiMsgNetwork : %s";
|
||||
FUN_14000ad20(L"OnWarning MagiMsgNetwork : %s",puVar5,param_3,param_4);
|
||||
if (((local_res18[0] != (undefined *)0x0) && (local_res18[0] != PTR_DAT_1401ac010)) &&
|
||||
(local_res18[0] + -8 != (undefined *)0x0)) {
|
||||
piVar3 = (int *)FUN_14006cb70(pwVar4,puVar5,param_3,param_4);
|
||||
FUN_14006b350(piVar3);
|
||||
piVar1 = (int *)(local_res18[0] + -4);
|
||||
*piVar1 = *piVar1 + -1;
|
||||
if (*piVar1 == 0) {
|
||||
FUN_14006cc60(local_res18[0] + -8);
|
||||
}
|
||||
FUN_14006b3e0((longlong)piVar3);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006b00 FUN_140006b00
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140006b00(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
undefined8 uVar1;
|
||||
|
||||
uVar1 = (**(code **)(*param_2 + 8))(param_2);
|
||||
FUN_14000abd0("OnException MagiMsgNetwork : %s",uVar1,param_3,param_4);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140006b20 FUN_140006b20
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_140006b20(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
short *psVar2;
|
||||
longlong lVar3;
|
||||
|
||||
plVar1 = FUN_140098630(param_1,param_2,param_3,param_4);
|
||||
*(longlong **)(param_1 + 0x40) = plVar1;
|
||||
lVar3 = *plVar1;
|
||||
(**(code **)(lVar3 + 0x10))(plVar1,param_1 + 8);
|
||||
(**(code **)(**(longlong **)(param_1 + 0x40) + 8))(*(longlong **)(param_1 + 0x40),param_1 + 0x60);
|
||||
(**(code **)(**(longlong **)(param_1 + 0x40) + 0x130))(*(longlong **)(param_1 + 0x40),param_1);
|
||||
psVar2 = (short *)(DAT_1401bd038 + 0x30);
|
||||
if (7 < *(ulonglong *)(DAT_1401bd038 + 0x48)) {
|
||||
psVar2 = *(short **)psVar2;
|
||||
}
|
||||
FUN_140008030((longlong *)(param_1 + 0x48),psVar2,lVar3,param_4);
|
||||
*(undefined4 *)(param_1 + 0x50) = *(undefined4 *)(DAT_1401bd038 + 0x80);
|
||||
if ((DAT_1401bd4f4 & 1) == 0) {
|
||||
DAT_1401bd4f4 = DAT_1401bd4f4 | 1;
|
||||
FUN_14011b100();
|
||||
atexit((_func_5014 *)&LAB_14012f3d0);
|
||||
}
|
||||
FUN_140063730((undefined8 *)(param_1 + 0x40),(ulonglong)(DAT_1401bd465 != '\0'),
|
||||
(ulonglong)(DAT_1401bd465 != '\0'),param_4);
|
||||
return;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue