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
83
decomp/DBCServer_Release_x64/full/functions/0x1401e1e10.c
Normal file
83
decomp/DBCServer_Release_x64/full/functions/0x1401e1e10.c
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x1401e1e10 FUN_1401e1e10
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined2 * FUN_1401e1e10(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
longlong lVar2;
|
||||
char cVar3;
|
||||
undefined2 *puVar4;
|
||||
bool bVar5;
|
||||
undefined8 uVar6;
|
||||
longlong *plVar7;
|
||||
undefined1 uVar8;
|
||||
|
||||
uVar6 = 0xfffffffffffffffe;
|
||||
if ((int)param_1[8] == 2) {
|
||||
bVar5 = *(int *)(*param_1 + 0x14) != 0;
|
||||
plVar1 = param_1 + 0xe;
|
||||
plVar7 = plVar1;
|
||||
if (bVar5) {
|
||||
FUN_14016db50();
|
||||
}
|
||||
*(undefined1 *)(param_1 + 0x15) = 1;
|
||||
uVar8 = bVar5;
|
||||
if (((*(int *)(*param_1 + 0x14) == 0) && (*(longlong *)(*param_1 + 0x18) != 0)) &&
|
||||
(cVar3 = FUN_14016dc80(), cVar3 == '\0')) {
|
||||
FUN_14016f090();
|
||||
}
|
||||
if (param_2 != 0) {
|
||||
if (param_1[0xd] == 0) {
|
||||
param_1[0xd] = param_2;
|
||||
}
|
||||
else if (param_1[0xd] != param_2) {
|
||||
*(undefined1 *)(param_1 + 0x15) = 0;
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14016d6b0();
|
||||
}
|
||||
lVar2 = param_1[9];
|
||||
if (lVar2 == 0) {
|
||||
puVar4 = (undefined2 *)
|
||||
(**(code **)**(undefined8 **)(*param_1 + 8))
|
||||
(*(undefined8 **)(*param_1 + 8),param_2 + 0x20,param_3,param_4,uVar6,
|
||||
plVar7,uVar8);
|
||||
if (puVar4 != (undefined2 *)0x0) {
|
||||
puVar4[0xc] = 0;
|
||||
*(undefined8 *)(puVar4 + 8) = 0;
|
||||
*puVar4 = 0x10e1;
|
||||
}
|
||||
*(longlong *)(puVar4 + 4) = param_1[0xd];
|
||||
puVar4[0xc] = (short)param_1[0xc];
|
||||
param_1[0xb] = param_1[0xb] + 1;
|
||||
*(undefined1 *)(param_1 + 0x15) = 0;
|
||||
if (!bVar5) {
|
||||
return puVar4 + 0x10;
|
||||
}
|
||||
FUN_14016dbe0(plVar1);
|
||||
return puVar4 + 0x10;
|
||||
}
|
||||
param_1[9] = *(longlong *)(lVar2 + 0x10);
|
||||
*(undefined8 *)(lVar2 + 0x10) = 0;
|
||||
*(short *)(lVar2 + 0x18) = (short)param_1[0xc];
|
||||
param_1[10] = param_1[10] + -1;
|
||||
*(undefined1 *)(param_1 + 0x15) = 0;
|
||||
if (!bVar5) {
|
||||
return (undefined2 *)(lVar2 + 0x20);
|
||||
}
|
||||
FUN_14016dbe0(plVar1);
|
||||
return (undefined2 *)(lVar2 + 0x20);
|
||||
}
|
||||
*(undefined1 *)(param_1 + 0x15) = 0;
|
||||
if (bVar5) {
|
||||
FUN_14016dbe0(plVar1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
FUN_14016f090(L"CLookasideAllocator.Alloc() is called after the allocator is already disposed!")
|
||||
;
|
||||
}
|
||||
return (undefined2 *)0x0;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue