/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14001c0e0 FUN_14001c0e0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_14001c0e0(longlong param_1,uint param_2,LPCWSTR param_3) { longlong *plVar1; char *****pppppcVar2; undefined1 auStack_2e8 [32]; undefined8 local_2c8; char ****local_2c0 [2]; char ***local_2b0; char ***local_2a8; undefined1 local_298; undefined7 uStack_297; undefined8 local_288; ulonglong local_280; void *local_270 [3]; ulonglong local_258; undefined4 local_248; undefined4 local_244; char local_240 [520]; ulonglong local_38; local_2c8 = 0xfffffffffffffffe; local_38 = DAT_14016f5a0 ^ (ulonglong)auStack_2e8; memset(local_240,0,0x200); local_248 = 0x208; local_244 = 0x4e2f; local_2a8 = (char ***)0xf; local_2b0 = (char ***)0x0; local_2c0[0] = (char ****)((ulonglong)local_2c0[0] & 0xffffffffffffff00); plVar1 = FUN_140010200((longlong *)local_270,&DAT_140175048); pppppcVar2 = (char *****)FUN_1400102b0((undefined8 *)&local_298,plVar1); if (local_2c0 != pppppcVar2) { if ((char ****)0xf < local_2a8) { operator_delete(local_2c0[0]); } local_2a8 = (char ***)0xf; local_2b0 = (char ***)0x0; local_2c0[0] = (char ****)((ulonglong)local_2c0[0] & 0xffffffffffffff00); if (pppppcVar2[3] < (char ****)0x10) { memmove(local_2c0,pppppcVar2,(longlong)pppppcVar2[2] + 1); } else { local_2c0[0] = *pppppcVar2; *pppppcVar2 = (char ****)0x0; } local_2b0 = (char ***)pppppcVar2[2]; local_2a8 = (char ***)pppppcVar2[3]; pppppcVar2[3] = (char ****)0xf; pppppcVar2[2] = (char ****)0x0; *(undefined1 *)pppppcVar2 = 0; } if (0xf < local_280) { operator_delete((void *)CONCAT71(uStack_297,local_298)); } local_280 = 0xf; local_288 = 0; local_298 = 0; if (0xf < local_258) { operator_delete(local_270[0]); } FUN_14000c480((ulonglong *)local_2c0,"",0xf); FUN_14000f580((longlong *)local_2c0,(ulonglong)param_2,"type"); FUN_14000fa00((longlong *)local_2c0,param_3,"message"); FUN_14000c480((ulonglong *)local_2c0,"",0x10); if (local_2b0 < (char ****)0x400) { pppppcVar2 = local_2c0; if ((char ****)0xf < local_2a8) { pppppcVar2 = (char *****)local_2c0[0]; } strncpy(local_240,(char *)pppppcVar2,(size_t)local_2b0); } else { printf("PWE_RESP_ERROR_MESSAGE - Msg Size Full!\n"); } if (*(longlong *)(param_1 + 0x58) != 0) { FUN_14003c5c0(*(longlong *)(param_1 + 0x58),&local_248); } if ((char ****)0xf < local_2a8) { operator_delete(local_2c0[0]); } return; }