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

45 lines
1.4 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x1400b9e70 FUN_1400b9e70
* Pseudocode, not original source. */
ulonglong FUN_1400b9e70(longlong param_1,uint param_2,char *param_3,int param_4)
{
code *pcVar1;
longlong lVar2;
ulonglong uVar3;
ulonglong uVar4;
if (((param_3 != (char *)0x0) && (*param_3 == '1')) && (param_4 == 0x58)) {
if (param_1 != 0) {
*(undefined8 *)(param_1 + 0x20) = 0;
if (*(longlong *)(param_1 + 0x30) == 0) {
*(undefined8 *)(param_1 + 0x40) = 0;
*(code **)(param_1 + 0x30) = FUN_1400c42b0;
}
pcVar1 = *(code **)(param_1 + 0x38);
if (pcVar1 == (code *)0x0) {
pcVar1 = FUN_1400c42c0;
}
*(code **)(param_1 + 0x38) = pcVar1;
lVar2 = (**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),1,0x1be8);
if (lVar2 == 0) {
uVar3 = 0xfffffffc;
}
else {
*(longlong *)(param_1 + 0x28) = lVar2;
*(undefined8 *)(lVar2 + 0x38) = 0;
uVar4 = FUN_1400b9dc0(param_1,param_2);
uVar3 = uVar4 & 0xffffffff;
if ((int)uVar4 != 0) {
(**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40),lVar2);
*(undefined8 *)(param_1 + 0x28) = 0;
}
}
return uVar3;
}
return 0xfffffffe;
}
return 0xfffffffa;
}