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
114
decomp/DBCServer_Release_x64/full/functions/0x1401f2360.c
Normal file
114
decomp/DBCServer_Release_x64/full/functions/0x1401f2360.c
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x1401f2360 FUN_1401f2360
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 FUN_1401f2360(longlong param_1)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
longlong lVar2;
|
||||
undefined8 uVar3;
|
||||
undefined8 uVar4;
|
||||
undefined4 *puVar5;
|
||||
undefined8 *puVar6;
|
||||
undefined4 local_b8;
|
||||
undefined4 local_b4;
|
||||
longlong local_b0;
|
||||
longlong local_a8;
|
||||
undefined4 local_a0;
|
||||
int local_9c;
|
||||
undefined1 local_98;
|
||||
undefined4 local_90;
|
||||
undefined **local_88;
|
||||
undefined4 local_80;
|
||||
undefined2 local_7c;
|
||||
undefined1 local_78;
|
||||
undefined8 local_68;
|
||||
undefined1 local_60;
|
||||
undefined1 local_58 [8];
|
||||
undefined1 local_50 [8];
|
||||
longlong local_48;
|
||||
int local_3c;
|
||||
undefined8 local_30;
|
||||
|
||||
local_30 = 0xfffffffffffffffe;
|
||||
uVar4 = (**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))();
|
||||
local_68 = uVar4;
|
||||
FUN_14016db50(uVar4);
|
||||
local_60 = 1;
|
||||
if (*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x1548) == 0) {
|
||||
FUN_14016dbe0(uVar4);
|
||||
uVar4 = 0;
|
||||
}
|
||||
else {
|
||||
FUN_14016b440(&local_b8);
|
||||
local_88 = Proud::AddrPort::vftable;
|
||||
local_78 = 0;
|
||||
local_80 = DAT_140344450;
|
||||
local_7c = DAT_140344454;
|
||||
local_90 = *(undefined4 *)(*(longlong *)(param_1 + 0x108) + 0x1578);
|
||||
puVar5 = (undefined4 *)FUN_1401ee9c0(*(longlong *)(param_1 + 0x108) + 0x1530,local_58);
|
||||
local_b8 = *puVar5;
|
||||
local_b4 = puVar5[1];
|
||||
if (*(longlong *)(puVar5 + 2) == local_b0) {
|
||||
local_9c = puVar5[7];
|
||||
local_a8 = *(longlong *)(puVar5 + 4);
|
||||
local_a0 = puVar5[6];
|
||||
}
|
||||
else {
|
||||
FUN_14016d0e0(&local_b0);
|
||||
if (*(longlong *)(puVar5 + 2) != 0) {
|
||||
plVar1 = (longlong *)(*(longlong *)(puVar5 + 2) + 0x28);
|
||||
*plVar1 = *plVar1 + 1;
|
||||
local_b0 = *(longlong *)(puVar5 + 2);
|
||||
}
|
||||
}
|
||||
local_98 = *(undefined1 *)(puVar5 + 8);
|
||||
FUN_14016d0e0(local_50);
|
||||
if ((local_48 != 0) && (local_3c < 0)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14016d6b0();
|
||||
}
|
||||
FUN_14016b040(&local_b8,0);
|
||||
lVar2 = *(longlong *)(param_1 + 0x108);
|
||||
uVar3 = *(undefined8 *)(lVar2 + 0x6f0);
|
||||
plVar1 = *(longlong **)(lVar2 + 0x6e0);
|
||||
if (plVar1 == (longlong *)0x0) {
|
||||
puVar6 = (undefined8 *)FUN_14016d940(0x58);
|
||||
}
|
||||
else {
|
||||
puVar6 = (undefined8 *)(**(code **)(*plVar1 + 8))(plVar1,0x58);
|
||||
}
|
||||
if (puVar6 != (undefined8 *)0x0) {
|
||||
FUN_14016b470(puVar6 + 2,&local_b8);
|
||||
*(undefined4 *)(puVar6 + 7) = local_90;
|
||||
puVar6[8] = Proud::AddrPort::vftable;
|
||||
*(undefined4 *)(puVar6 + 9) = local_80;
|
||||
*(undefined2 *)((longlong)puVar6 + 0x4c) = local_7c;
|
||||
*(undefined1 *)(puVar6 + 10) = local_78;
|
||||
}
|
||||
puVar6[1] = uVar3;
|
||||
*puVar6 = 0;
|
||||
*(longlong *)(lVar2 + 0x6f8) = *(longlong *)(lVar2 + 0x6f8) + 1;
|
||||
if (*(undefined8 **)(lVar2 + 0x6f0) == (undefined8 *)0x0) {
|
||||
*(undefined8 **)(lVar2 + 0x6e8) = puVar6;
|
||||
}
|
||||
else {
|
||||
**(undefined8 **)(lVar2 + 0x6f0) = puVar6;
|
||||
}
|
||||
*(undefined8 **)(lVar2 + 0x6f0) = puVar6;
|
||||
FUN_1401f1e50(param_1,0);
|
||||
FUN_14016d0e0(&local_b0);
|
||||
if (local_a8 != 0) {
|
||||
if (local_9c < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14016d6b0();
|
||||
}
|
||||
local_a0 = 0;
|
||||
}
|
||||
FUN_14016dbe0(uVar4);
|
||||
uVar4 = 1;
|
||||
}
|
||||
return uVar4;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue