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,88 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400fd2d0 FUN_1400fd2d0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400fd2d0(longlong *param_1,longlong param_2,size_t param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
int iVar1;
|
||||
longlong *plVar2;
|
||||
longlong lVar3;
|
||||
undefined ***pppuVar4;
|
||||
ulonglong uVar5;
|
||||
uint uVar6;
|
||||
ulonglong uVar7;
|
||||
ulonglong uVar8;
|
||||
undefined8 uVar9;
|
||||
double dVar10;
|
||||
undefined **local_30;
|
||||
longlong *local_28;
|
||||
LPVOID local_20;
|
||||
undefined8 local_18;
|
||||
undefined8 local_10;
|
||||
|
||||
plVar2 = (longlong *)
|
||||
(**(code **)(**(longlong **)*param_1 + 0x38))
|
||||
(*(longlong **)*param_1,param_2,param_3,param_4,0xfffffffffffffffe);
|
||||
uVar7 = 0;
|
||||
local_28 = (longlong *)0x0;
|
||||
local_20 = (LPVOID)0x0;
|
||||
local_18 = 0;
|
||||
local_10 = 0;
|
||||
local_30 = Proud::CUncompressedFrameNumberArray::vftable;
|
||||
if (plVar2 == (longlong *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14006be00();
|
||||
}
|
||||
uVar8 = uVar7;
|
||||
if (*(ulonglong **)(param_2 + 0x20) != (ulonglong *)0x0) {
|
||||
uVar8 = **(ulonglong **)(param_2 + 0x20);
|
||||
}
|
||||
pppuVar4 = &local_30;
|
||||
local_28 = plVar2;
|
||||
FUN_1400df7e0(uVar8,(longlong)pppuVar4,param_3,param_4);
|
||||
if (0 < (int)local_18) {
|
||||
iVar1 = (int)local_18 + -1;
|
||||
if ((iVar1 < 0) || ((int)local_18 <= iVar1)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14006be30(uVar8,pppuVar4,param_3,param_4);
|
||||
}
|
||||
*(undefined4 *)(*param_1 + 0xe4) = *(undefined4 *)((longlong)local_20 + (longlong)iVar1 * 4);
|
||||
uVar9 = (**(code **)(**(longlong **)*param_1 + 0x18))();
|
||||
*(undefined8 *)(*param_1 + 0xe8) = uVar9;
|
||||
*(int *)(*param_1 + 0x30) = *(int *)(*param_1 + 0x30) + 1;
|
||||
}
|
||||
lVar3 = *param_1 + 8;
|
||||
uVar5 = (ulonglong)*(uint *)(param_2 + 0x34);
|
||||
FUN_1400f5b80(lVar3,*(uint *)(param_2 + 0x34));
|
||||
*(undefined4 *)(*param_1 + 0xe0) = *(undefined4 *)(param_2 + 0x34);
|
||||
uVar8 = uVar7;
|
||||
if (0 < (int)local_18) {
|
||||
do {
|
||||
if (((longlong)uVar8 < 0) || ((int)local_18 <= (int)uVar7)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14006be30(lVar3,uVar5,param_3,param_4);
|
||||
}
|
||||
lVar3 = *param_1 + 8;
|
||||
uVar6 = *(uint *)((longlong)local_20 + uVar8 * 4);
|
||||
uVar5 = (ulonglong)uVar6;
|
||||
FUN_1400f5b40(lVar3,uVar6);
|
||||
uVar6 = (int)uVar7 + 1;
|
||||
uVar7 = (ulonglong)uVar6;
|
||||
uVar8 = uVar8 + 1;
|
||||
} while ((int)uVar6 < (int)local_18);
|
||||
}
|
||||
dVar10 = (double)*(int *)(*param_1 + 0x14);
|
||||
*(int *)(*param_1 + 0x14) = (int)(((double)*(int *)(param_2 + 0x30) - dVar10) * 0.9 + dVar10) + 1;
|
||||
local_30 = Proud::CFastArray<Proud::FrameNumber,1>::vftable;
|
||||
if (local_20 != (LPVOID)0x0) {
|
||||
if (local_28 == (longlong *)0x0) {
|
||||
FUN_14006cc60(local_20);
|
||||
}
|
||||
else {
|
||||
(**(code **)(*local_28 + 0x18))();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue