server-re/decomp/AgentManager_Release_x64/full/functions/0x1400be190.c
2026-10-15 09:58:24 -04:00

47 lines
2 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400be190 FUN_1400be190
* Pseudocode, not original source. */
void FUN_1400be190(longlong param_1,undefined1 *param_2,int param_3,int param_4)
{
undefined1 uVar1;
byte bVar2;
if (*(int *)(param_1 + 0x1714) < 9) {
if (*(int *)(param_1 + 0x1714) < 1) goto LAB_1400be1ea;
uVar1 = *(undefined1 *)(param_1 + 0x1710);
}
else {
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
*(undefined1 *)(param_1 + 0x1710);
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
uVar1 = *(undefined1 *)(param_1 + 0x1711);
}
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = uVar1;
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
LAB_1400be1ea:
*(undefined4 *)(param_1 + 0x170c) = 8;
*(undefined2 *)(param_1 + 0x1710) = 0;
*(undefined4 *)(param_1 + 0x1714) = 0;
if (param_4 != 0) {
*(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = (byte)param_3;
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
bVar2 = (byte)((uint)param_3 >> 8);
*(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = bVar2;
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
*(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = ~(byte)param_3
;
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
*(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = ~bVar2;
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
}
for (; param_3 != 0; param_3 = param_3 + -1) {
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = *param_2
;
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
param_2 = param_2 + 1;
}
return;
}