/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400b6690 FUN_1400b6690 * Pseudocode, not original source. */ void FUN_1400b6690(longlong *param_1,LPVOID param_2) { longlong *plVar1; if (*(longlong *)((longlong)param_2 + 0x30) != 0) { plVar1 = (longlong *)(*(longlong *)((longlong)param_2 + 0x30) + 8); *plVar1 = *plVar1 + -1; if (*plVar1 == 0) { FUN_140043d50((longlong)((longlong)param_2 + 0x30),*(longlong **)((longlong)param_2 + 0x30)); } } FUN_140095270((longlong *)((longlong)param_2 + 0x18)); if (*(longlong *)((longlong)param_2 + 0x20) != 0) { if (*(int *)((longlong)param_2 + 0x2c) < 0) { /* WARNING: Subroutine does not return */ FUN_14002f590(); } *(undefined4 *)((longlong)param_2 + 0x28) = 0; } plVar1 = (longlong *)*param_1; if (plVar1 == (longlong *)0x0) { FUN_1400302f0(param_2); } else { (**(code **)(*plVar1 + 0x10))(plVar1,param_2); } param_1[3] = param_1[3] + -1; return; }