39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401c3be0 FUN_1401c3be0
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 FUN_1401c3be0(longlong param_1,uint param_2)
|
|
|
|
{
|
|
longlong lVar1;
|
|
undefined8 uVar2;
|
|
int iVar3;
|
|
|
|
if ((param_1 != 0) && (lVar1 = *(longlong *)(param_1 + 0x28), lVar1 != 0)) {
|
|
if ((int)param_2 < 0) {
|
|
iVar3 = 0;
|
|
param_2 = -param_2;
|
|
}
|
|
else {
|
|
iVar3 = ((int)param_2 >> 4) + 1;
|
|
if ((int)param_2 < 0x30) {
|
|
param_2 = param_2 & 0xf;
|
|
}
|
|
}
|
|
if ((param_2 == 0) || ((7 < (int)param_2 && ((int)param_2 < 0x10)))) {
|
|
if ((*(longlong *)(lVar1 + 0x38) != 0) && (*(uint *)(lVar1 + 0x28) != param_2)) {
|
|
(**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40));
|
|
*(undefined8 *)(lVar1 + 0x38) = 0;
|
|
}
|
|
*(int *)(lVar1 + 8) = iVar3;
|
|
*(uint *)(lVar1 + 0x28) = param_2;
|
|
uVar2 = FUN_1401c3b60(param_1);
|
|
}
|
|
else {
|
|
uVar2 = 0xfffffffe;
|
|
}
|
|
return uVar2;
|
|
}
|
|
return 0xfffffffe;
|
|
}
|
|
|