75 lines
1.8 KiB
C
75 lines
1.8 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401c84c0 FUN_1401c84c0
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Removing unreachable block (ram,0x0001401c85dd) */
|
|
/* WARNING: Removing unreachable block (ram,0x0001401c85eb) */
|
|
|
|
void FUN_1401c84c0(ulonglong *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
longlong *plVar1;
|
|
undefined8 *puVar2;
|
|
ulonglong uVar3;
|
|
ulonglong uVar4;
|
|
ulonglong uVar5;
|
|
undefined8 uVar6;
|
|
ulonglong uVar7;
|
|
undefined1 uVar8;
|
|
ulonglong uVar9;
|
|
undefined1 uVar10;
|
|
|
|
uVar6 = 0xfffffffffffffffe;
|
|
uVar4 = *param_2;
|
|
uVar7 = *param_1;
|
|
if (uVar7 != uVar4) {
|
|
uVar3 = uVar7;
|
|
if (uVar4 < uVar7) {
|
|
uVar3 = uVar4;
|
|
uVar4 = uVar7;
|
|
}
|
|
uVar8 = 0;
|
|
uVar10 = 0;
|
|
uVar7 = uVar3;
|
|
uVar9 = uVar4;
|
|
if (uVar3 != 0) {
|
|
uVar8 = 1;
|
|
FUN_14016db50(uVar3);
|
|
}
|
|
if (uVar4 != 0) {
|
|
uVar10 = 1;
|
|
FUN_14016db50(uVar4);
|
|
}
|
|
if (*param_2 != 0) {
|
|
plVar1 = (longlong *)(*param_2 + 0x40);
|
|
*plVar1 = *plVar1 + 1;
|
|
}
|
|
uVar5 = 0;
|
|
if (*param_1 != 0) {
|
|
plVar1 = (longlong *)(*param_1 + 0x40);
|
|
*plVar1 = *plVar1 + -1;
|
|
if (*(longlong *)(*param_1 + 0x40) == 0) {
|
|
uVar5 = *param_1;
|
|
}
|
|
}
|
|
*param_1 = *param_2;
|
|
if (uVar3 != 0) {
|
|
FUN_14016dbe0(uVar3);
|
|
uVar8 = 0;
|
|
}
|
|
if (uVar4 != 0) {
|
|
FUN_14016dbe0(uVar4);
|
|
uVar10 = 0;
|
|
}
|
|
if (uVar5 != 0) {
|
|
puVar2 = *(undefined8 **)(uVar5 + 0x38);
|
|
if (puVar2 != (undefined8 *)0x0) {
|
|
(**(code **)*puVar2)(puVar2,1,param_3,param_4,uVar6,uVar7,uVar8,uVar9,uVar10);
|
|
}
|
|
FUN_14016dc00(uVar5);
|
|
FUN_14016d970(uVar5);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|