/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14008e950 FUN_14008e950 * Pseudocode, not original source. */ /* WARNING: Removing unreachable block (ram,0x00014008eaa7) */ void FUN_14008e950(longlong param_1,undefined8 param_2,undefined8 param_3,undefined *param_4) { longlong *plVar1; longlong *plVar2; LPVOID pvVar3; LPVOID pvVar4; undefined8 uVar5; code *pcVar6; if (*(longlong *)(param_1 + 0x40) == 0) { pvVar4 = (LPVOID)0x0; } else { pvVar4 = *(LPVOID *)(param_1 + 0x30); } while( true ) { if (pvVar4 == (LPVOID)0x0) { return; } if (pvVar4 == (LPVOID)0x0) break; plVar1 = *(longlong **)((longlong)pvVar4 + 0x10); if ((longlong *)plVar1[2] != (longlong *)0x0) { FUN_14008bf30((longlong *)plVar1[2],plVar1,param_3,param_4); } plVar2 = *(longlong **)(param_1 + 0x78); FUN_14008cb70((short *)plVar1); plVar1[0x33] = (longlong)Proud::CFastArray::vftable; if ((LPVOID)plVar1[0x35] != (LPVOID)0x0) { if ((longlong *)plVar1[0x34] == (longlong *)0x0) { FUN_14003e8b0((LPVOID)plVar1[0x35]); } else { (**(code **)(*(longlong *)plVar1[0x34] + 0x18))(); } } pcVar6 = FUN_14008cc00; uVar5 = 6; _eh_vector_destructor_iterator_(plVar1 + 3,0x38,6,FUN_14008cc00); param_4 = pcVar6; if ((longlong *)plVar1[2] != (longlong *)0x0) { FUN_14008bf30((longlong *)plVar1[2],plVar1,uVar5,pcVar6); param_4 = pcVar6; } (**(code **)(*plVar2 + 0x18))(plVar2,plVar1); if (pvVar4 == (LPVOID)0x0) { /* WARNING: Subroutine does not return */ FUN_1400050d0(0x80004005); } pvVar3 = *(LPVOID *)((longlong)pvVar4 + 0x18); param_3 = 0; FUN_14008cf20((char *)(param_1 + 0x20),pvVar4,'\0'); pvVar4 = pvVar3; } /* WARNING: Subroutine does not return */ FUN_1400050d0(0x80004005); }