/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x140006850 FUN_140006850 * Pseudocode, not original source. */ void FUN_140006850(longlong param_1,undefined1 param_2,ulonglong param_3,undefined8 param_4) { LPVOID pvVar1; LPVOID pvVar2; undefined1 local_68 [4]; undefined4 local_64; undefined **local_60; longlong *local_58; LPVOID local_50; ulonglong local_48; undefined8 local_40; undefined8 local_38; local_38 = 0xfffffffffffffffe; local_64 = (undefined4)param_3; local_60 = Proud::CFastArray::vftable; local_58 = (longlong *)0x0; local_50 = (LPVOID)0x0; local_48 = 0; local_40 = 0; local_68[0] = param_2; FUN_14002cce0(DAT_140162d60,(longlong)&local_60,param_3, CONCAT71((int7)((ulonglong)param_4 >> 8),9)); pvVar1 = local_50; if ((int)local_48 < 1) { if (local_50 == (LPVOID)0x0) { return; } if (local_58 != (longlong *)0x0) { (**(code **)(*local_58 + 0x18))(local_58,local_50); return; } } else { pvVar2 = local_50; if ((int)local_48 == 0) { pvVar2 = (LPVOID)0x0; } (**(code **)(*(longlong *)(param_1 + 0x50) + 0xa8)) ((longlong *)(param_1 + 0x50),pvVar2,local_48 & 0xffffffff,&DAT_1401555d0,local_68, &local_64,param_4); if (pvVar1 == (LPVOID)0x0) { return; } if (local_58 != (longlong *)0x0) { (**(code **)(*local_58 + 0x18))(local_58,pvVar1); return; } } FUN_1400302f0(pvVar1); return; }