44 lines
1.4 KiB
C
44 lines
1.4 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x14017f650 FUN_14017f650
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 FUN_14017f650(longlong param_1,uint param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
uint uVar1;
|
|
longlong lVar2;
|
|
ulonglong uVar3;
|
|
undefined8 uVar4;
|
|
uint *puVar5;
|
|
undefined8 uVar6;
|
|
undefined8 uVar7;
|
|
undefined1 uVar8;
|
|
|
|
uVar6 = 0xfffffffffffffffe;
|
|
uVar4 = (**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))();
|
|
uVar7 = uVar4;
|
|
FUN_14016db50(uVar4);
|
|
uVar8 = 1;
|
|
if (DAT_14034c86f != '\0') {
|
|
(**(code **)(**(longlong **)(param_1 + 0x20) + 200))();
|
|
}
|
|
uVar1 = *(uint *)(*(longlong *)(param_1 + 0x20) + 0xca0);
|
|
uVar3 = (ulonglong)param_2 % (ulonglong)uVar1;
|
|
lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0xc80);
|
|
if ((lVar2 != 0) && (puVar5 = *(uint **)(lVar2 + uVar3 * 8), puVar5 != (uint *)0x0)) {
|
|
while ((uint)uVar3 == puVar5[8] % uVar1) {
|
|
if (*puVar5 == param_2) {
|
|
lVar2 = *(longlong *)(puVar5 + 2);
|
|
if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x228) == 0)) {
|
|
FUN_14004e6d0(lVar2 + 0x1f0,param_4,uVar3,(ulonglong)uVar1,uVar6,uVar7,uVar8);
|
|
}
|
|
break;
|
|
}
|
|
puVar5 = *(uint **)(puVar5 + 4);
|
|
if (puVar5 == (uint *)0x0) break;
|
|
}
|
|
}
|
|
FUN_14016dbe0(uVar4);
|
|
return 1;
|
|
}
|
|
|