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
146
decomp/MessageServer_Release_x64/full/functions/0x14005c300.c
Normal file
146
decomp/MessageServer_Release_x64/full/functions/0x14005c300.c
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x14005c300 FUN_14005c300
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
undefined8 *
|
||||
FUN_14005c300(undefined8 *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
short sVar1;
|
||||
uint uVar2;
|
||||
ulonglong uVar3;
|
||||
LPCSTR pCVar4;
|
||||
short *psVar5;
|
||||
longlong *plVar6;
|
||||
undefined1 auStack_1e8 [32];
|
||||
undefined **local_1c8;
|
||||
longlong *local_1c0;
|
||||
longlong *local_1b8;
|
||||
undefined8 local_1b0;
|
||||
undefined8 local_1a8;
|
||||
undefined8 *local_1a0;
|
||||
undefined8 local_198;
|
||||
undefined2 local_190;
|
||||
undefined6 uStack_18e;
|
||||
undefined8 local_180;
|
||||
ulonglong local_178;
|
||||
undefined1 local_168;
|
||||
undefined8 local_158;
|
||||
undefined8 local_150;
|
||||
short *local_138;
|
||||
short local_130 [132];
|
||||
ulonglong local_28;
|
||||
|
||||
local_198 = 0xfffffffffffffffe;
|
||||
local_28 = DAT_1401ac5a0 ^ (ulonglong)auStack_1e8;
|
||||
*param_1 = MagiServerOption::vftable;
|
||||
param_1[4] = 7;
|
||||
param_1[3] = 0;
|
||||
*(undefined2 *)(param_1 + 1) = 0;
|
||||
param_1[9] = 7;
|
||||
param_1[8] = 0;
|
||||
*(undefined2 *)(param_1 + 6) = 0;
|
||||
param_1[0xe] = 7;
|
||||
param_1[0xd] = 0;
|
||||
*(undefined2 *)(param_1 + 0xb) = 0;
|
||||
param_1[0x10] = 0;
|
||||
*(undefined4 *)(param_1 + 0x11) = 0;
|
||||
*(undefined4 *)((longlong)param_1 + 0x8c) = 0x32;
|
||||
param_1[0x15] = 0xf;
|
||||
param_1[0x14] = 0;
|
||||
*(undefined1 *)(param_1 + 0x12) = 0;
|
||||
param_1[0x1a] = 0xf;
|
||||
param_1[0x19] = 0;
|
||||
*(undefined1 *)(param_1 + 0x17) = 0;
|
||||
param_1[0x1f] = 0xf;
|
||||
param_1[0x1e] = 0;
|
||||
*(undefined1 *)(param_1 + 0x1c) = 0;
|
||||
param_1[0x24] = 0xf;
|
||||
param_1[0x23] = 0;
|
||||
*(undefined1 *)(param_1 + 0x21) = 0;
|
||||
param_1[0x26] = 0;
|
||||
param_1[0x27] = 0;
|
||||
*(undefined4 *)(param_1 + 0x28) = 1;
|
||||
*(undefined4 *)((longlong)param_1 + 0x144) = 1;
|
||||
param_1[0x29] = 1;
|
||||
*(undefined2 *)(param_1 + 0x2a) = 0;
|
||||
*(undefined1 *)((longlong)param_1 + 0x152) = 0;
|
||||
*(undefined8 *)((longlong)param_1 + 0x154) = 0;
|
||||
*(undefined8 *)((longlong)param_1 + 0x15c) = 1;
|
||||
*(undefined2 *)((longlong)param_1 + 0x164) = 1;
|
||||
*(undefined1 *)((longlong)param_1 + 0x166) = 1;
|
||||
param_1[0x2d] = 0;
|
||||
*(undefined2 *)(param_1 + 0x2e) = 0;
|
||||
param_1[0x2f] = 0;
|
||||
*(undefined1 *)(param_1 + 0x30) = 1;
|
||||
param_1[0x31] = 0;
|
||||
param_1[0x32] = 0;
|
||||
param_1[0x33] = 0;
|
||||
local_1a0 = param_1;
|
||||
FUN_140061650(param_1 + 0x35);
|
||||
*(undefined1 *)(param_1 + 0x3d) = 0;
|
||||
*(undefined4 *)((longlong)param_1 + 0x1ec) = 0;
|
||||
param_1[0x3e] = 0;
|
||||
local_1c8 = Proud::CFastArray<Proud::StringT<char,Proud::AnsiStrTraits>,0>::vftable;
|
||||
local_1c0 = (longlong *)0x0;
|
||||
local_1b8 = (longlong *)0x0;
|
||||
local_1b0 = 0;
|
||||
local_1a8 = 0;
|
||||
FUN_140071210((longlong)&local_1c8,param_2,param_3,param_4);
|
||||
local_178 = 7;
|
||||
local_180 = 0;
|
||||
local_190 = 0;
|
||||
local_150 = 0xf;
|
||||
local_158 = 0;
|
||||
local_168 = 0;
|
||||
if (0 < (int)(uint)local_1b0) {
|
||||
pCVar4 = (LPCSTR)*local_1b8;
|
||||
if ((LPCSTR)*local_1b8 == (LPCSTR)0x0) {
|
||||
pCVar4 = PTR_DAT_1401ac008;
|
||||
}
|
||||
local_138 = local_130;
|
||||
FUN_1400626b0((longlong *)&local_138,pCVar4,3);
|
||||
uVar3 = 0xffffffffffffffff;
|
||||
psVar5 = local_138;
|
||||
do {
|
||||
if (uVar3 == 0) break;
|
||||
uVar3 = uVar3 - 1;
|
||||
sVar1 = *psVar5;
|
||||
psVar5 = psVar5 + 1;
|
||||
} while (sVar1 != 0);
|
||||
FUN_140001830((ulonglong *)&local_190,local_138,~uVar3 - 1);
|
||||
if (local_138 != local_130) {
|
||||
free(local_138);
|
||||
}
|
||||
}
|
||||
uVar2 = (uint)local_1b0;
|
||||
if (7 < local_178) {
|
||||
operator_delete((void *)CONCAT62(uStack_18e,local_190));
|
||||
uVar2 = (uint)local_1b0;
|
||||
}
|
||||
local_178 = 7;
|
||||
local_180 = 0;
|
||||
local_190 = 0;
|
||||
local_1c8 = Proud::CFastArray<Proud::StringT<char,Proud::AnsiStrTraits>,0>::vftable;
|
||||
if (0 < (int)uVar2) {
|
||||
uVar3 = (ulonglong)uVar2;
|
||||
plVar6 = local_1b8;
|
||||
do {
|
||||
FUN_140008440(plVar6);
|
||||
plVar6 = plVar6 + 1;
|
||||
uVar3 = uVar3 - 1;
|
||||
} while (uVar3 != 0);
|
||||
}
|
||||
if (local_1b8 != (longlong *)0x0) {
|
||||
if (local_1c0 == (longlong *)0x0) {
|
||||
FUN_14006cc60(local_1b8);
|
||||
}
|
||||
else {
|
||||
(**(code **)(*local_1c0 + 0x18))(local_1c0,local_1b8);
|
||||
}
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue