/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400c59a0 FUN_1400c59a0 * Pseudocode, not original source. */ void FUN_1400c59a0(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_1400c59fa; 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_1400c59fa: *(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; }