/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x140009d00 FUN_140009d00 * Pseudocode, not original source. */ /* WARNING: Removing unreachable block (ram,0x000140009e72) */ /* WARNING: Removing unreachable block (ram,0x000140009e9c) */ /* WARNING: Removing unreachable block (ram,0x000140009ea3) */ ulonglong FUN_140009d00(longlong param_1,longlong param_2,longlong param_3,undefined4 *param_4) { IUnknown *pIVar1; int iVar2; ULONG UVar3; undefined4 uVar4; short *psVar5; ulonglong uVar6; undefined4 extraout_var; undefined8 uVar7; undefined4 extraout_var_00; undefined4 *puVar8; wchar_t *pwVar9; undefined4 *puVar10; IUnknown *local_48 [2]; longlong *local_38 [2]; undefined4 local_28 [8]; puVar10 = param_4; FUN_140073cc0(local_38); FUN_140073b20(local_48); FUN_140073f70(local_38,*(IID **)(param_1 + 8),(void **)L"dbo.up_auth_agentaccount"); FUN_14000a950((undefined2 *)local_28,param_2); FUN_140073d70(local_38,1,local_28); Ordinal_9(local_28); FUN_14000a950((undefined2 *)local_28,param_3); FUN_140073d70(local_38,2,local_28); Ordinal_9(local_28); FUN_140074740(local_38,(longlong *)local_48,(int *)0x0); uVar7 = 0; puVar8 = local_28; psVar5 = (short *)FUN_140073e60(local_38,puVar8,0); FUN_140074970(psVar5,puVar8,uVar7,puVar10); iVar2 = FUN_14000add0(psVar5); Ordinal_9(local_28); pIVar1 = local_48[0]; if (iVar2 < 0) { wprintf(L"Failed Stored Procedure!! : %s \n",L"dbo.up_auth_agentaccount"); uVar6 = FUN_140072b00(local_48); if (local_48[0] != (IUnknown *)0x0) { UVar3 = (*local_48[0]->lpVtbl->Release)(local_48[0]); uVar6 = CONCAT44(extraout_var,UVar3); } if (local_38[0] != (longlong *)0x0) { uVar6 = (**(code **)(*local_38[0] + 0x10))(); } uVar6 = uVar6 & 0xffffffffffffff00; } else { UVar3 = (*local_48[0]->lpVtbl[6].Release)(local_48[0]); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar1,(_GUID *)&DAT_1401301b0); } pwVar9 = L"permission"; puVar8 = local_28; psVar5 = (short *)FUN_140073430(local_48,puVar8,0x140130198); FUN_140074970(psVar5,puVar8,pwVar9,puVar10); uVar4 = FUN_14000add0(psVar5); *param_4 = uVar4; Ordinal_9(local_28); uVar7 = FUN_140072b00(local_48); if (local_48[0] != (IUnknown *)0x0) { UVar3 = (*local_48[0]->lpVtbl->Release)(local_48[0]); uVar7 = CONCAT44(extraout_var_00,UVar3); } if (local_38[0] != (longlong *)0x0) { uVar7 = (**(code **)(*local_38[0] + 0x10))(); } uVar6 = CONCAT71((int7)((ulonglong)uVar7 >> 8),1); } return uVar6; }