/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400e5c98 FUN_1400e5c98 * Pseudocode, not original source. */ undefined8 FUN_1400e5c98(longlong param_1,uint param_2,char *param_3,int param_4) { code *pcVar1; longlong lVar2; undefined8 uVar3; if (((param_3 == (char *)0x0) || (*param_3 != '1')) || (param_4 != 0x58)) { return 0xfffffffa; } 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_1400e9ba8; } pcVar1 = *(code **)(param_1 + 0x38); if (pcVar1 == (code *)0x0) { pcVar1 = FUN_1400e9bc8; } *(code **)(param_1 + 0x38) = pcVar1; lVar2 = (**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),1,0x2548); if (lVar2 == 0) { return 0xfffffffc; } *(longlong *)(param_1 + 0x28) = lVar2; if ((int)param_2 < 0) { *(undefined4 *)(lVar2 + 8) = 0; param_2 = -param_2; } else { *(int *)(lVar2 + 8) = ((int)param_2 >> 4) + 1; if ((int)param_2 < 0x30) { param_2 = param_2 & 0xf; } } if (param_2 - 8 < 8) { *(undefined8 *)(lVar2 + 0x38) = 0; *(uint *)(lVar2 + 0x28) = param_2; uVar3 = FUN_1400e5bd8(param_1); return uVar3; } (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); *(undefined8 *)(param_1 + 0x28) = 0; } return 0xfffffffe; }