/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14004d630 FUN_14004d630 * Pseudocode, not original source. */ void FUN_14004d630(longlong param_1,int param_2,undefined8 *param_3,int param_4) { longlong lVar1; longlong lVar2; longlong lVar3; int iVar4; lVar2 = (longlong)param_2; if (((-1 < param_4) && (-1 < param_2)) && (param_2 <= *(int *)(param_1 + 0x18))) { iVar4 = *(int *)(param_1 + 0x18); FUN_14004cce0(param_1,iVar4 + param_4,(longlong)param_3); iVar4 = iVar4 - param_2; lVar1 = 0; if (0 < iVar4) { lVar3 = lVar1; if (*(int *)(param_1 + 0x18) != 0) { lVar3 = *(longlong *)(param_1 + 0x10); } memmove((void *)(lVar3 + (lVar2 + param_4) * 4),(void *)(lVar3 + lVar2 * 4), (longlong)iVar4 << 2); } if (*(int *)(param_1 + 0x18) != 0) { lVar1 = *(longlong *)(param_1 + 0x10); } FUN_140006fb0((undefined8 *)(lVar1 + lVar2 * 4),param_3,(longlong)param_4 << 2); return; } /* WARNING: Subroutine does not return */ FUN_14003dec0(); }