server-re/decomp/Agent_Release_x64/full/functions/0x1400b9dc0.c
2026-10-14 16:45:19 -04:00

39 lines
1.1 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x1400b9dc0 FUN_1400b9dc0
* Pseudocode, not original source. */
undefined8 FUN_1400b9dc0(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_1400b9d40(param_1);
}
else {
uVar2 = 0xfffffffe;
}
return uVar2;
}
return 0xfffffffe;
}