150 lines
4.2 KiB
C
150 lines
4.2 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14000b5f0 FUN_14000b5f0
|
|
* Pseudocode, not original source. */
|
|
|
|
ulonglong FUN_14000b5f0(longlong param_1,int param_2,int param_3,undefined8 param_4,longlong param_5
|
|
,longlong param_6)
|
|
|
|
{
|
|
uint uVar1;
|
|
uint uVar2;
|
|
int iVar3;
|
|
short *psVar4;
|
|
undefined8 uVar5;
|
|
undefined4 extraout_var;
|
|
ulonglong uVar6;
|
|
short *psVar7;
|
|
undefined8 uVar8;
|
|
longlong *local_38 [2];
|
|
short local_28 [4];
|
|
undefined4 local_20;
|
|
|
|
uVar5 = param_4;
|
|
FUN_140073cc0(local_38);
|
|
FUN_140073f70(local_38,*(IID **)(param_1 + 8),(void **)L"dbo.up_insert_log_monitor_notice");
|
|
Ordinal_8(local_28);
|
|
if ((local_28[0] == 3) || (local_28[0] == 10)) {
|
|
LAB_14000b697:
|
|
local_20._0_2_ = 2;
|
|
local_20._2_2_ = 0;
|
|
}
|
|
else {
|
|
if (local_28[0] != 0xb) {
|
|
uVar2 = Ordinal_9(local_28);
|
|
if ((int)uVar2 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140048d70((ulonglong)uVar2);
|
|
}
|
|
local_28[0] = 3;
|
|
goto LAB_14000b697;
|
|
}
|
|
local_20._0_2_ = 0xffff;
|
|
}
|
|
FUN_140073d70(local_38,1,(undefined4 *)local_28);
|
|
Ordinal_9(local_28);
|
|
Ordinal_8(local_28);
|
|
iVar3 = param_2;
|
|
if ((local_28[0] != 3) && (iVar3 = param_2, local_28[0] != 10)) {
|
|
if (local_28[0] == 0xb) {
|
|
local_20 = CONCAT22(local_20._2_2_,-(ushort)(param_2 != 0));
|
|
iVar3 = local_20;
|
|
}
|
|
else {
|
|
uVar2 = Ordinal_9(local_28);
|
|
if ((int)uVar2 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140048d70((ulonglong)uVar2);
|
|
}
|
|
local_28[0] = 3;
|
|
iVar3 = param_2;
|
|
}
|
|
}
|
|
local_20 = iVar3;
|
|
FUN_140073d70(local_38,2,(undefined4 *)local_28);
|
|
Ordinal_9(local_28);
|
|
Ordinal_8(local_28);
|
|
iVar3 = param_3;
|
|
if ((local_28[0] != 3) && (iVar3 = param_3, local_28[0] != 10)) {
|
|
if (local_28[0] == 0xb) {
|
|
local_20 = CONCAT22(local_20._2_2_,-(ushort)(param_3 != 0));
|
|
iVar3 = local_20;
|
|
}
|
|
else {
|
|
uVar2 = Ordinal_9(local_28);
|
|
if ((int)uVar2 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140048d70((ulonglong)uVar2);
|
|
}
|
|
local_28[0] = 3;
|
|
iVar3 = param_3;
|
|
}
|
|
}
|
|
local_20 = iVar3;
|
|
FUN_140073d70(local_38,3,(undefined4 *)local_28);
|
|
Ordinal_9(local_28);
|
|
Ordinal_8(local_28);
|
|
uVar2 = (uint)param_4;
|
|
if ((local_28[0] != 3) && (local_28[0] != 10)) {
|
|
if (local_28[0] == 0xb) {
|
|
local_20 = CONCAT22(local_20._2_2_,-(ushort)(uVar2 != 0));
|
|
uVar2 = local_20;
|
|
}
|
|
else {
|
|
uVar1 = Ordinal_9(local_28);
|
|
if ((int)uVar1 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140048d70((ulonglong)uVar1);
|
|
}
|
|
local_28[0] = 3;
|
|
}
|
|
}
|
|
local_20 = uVar2;
|
|
FUN_140073d70(local_38,4,(undefined4 *)local_28);
|
|
Ordinal_9(local_28);
|
|
Ordinal_8(local_28);
|
|
if ((local_28[0] != 3) && (local_28[0] != 10)) {
|
|
if (local_28[0] == 0xb) {
|
|
local_20 = local_20 & 0xffff0000;
|
|
goto LAB_14000b855;
|
|
}
|
|
uVar2 = Ordinal_9(local_28);
|
|
if ((int)uVar2 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140048d70((ulonglong)uVar2);
|
|
}
|
|
local_28[0] = 3;
|
|
}
|
|
local_20 = 0;
|
|
LAB_14000b855:
|
|
FUN_140073d70(local_38,5,(undefined4 *)local_28);
|
|
Ordinal_9(local_28);
|
|
FUN_14000a950(local_28,param_5);
|
|
FUN_140073d70(local_38,6,(undefined4 *)local_28);
|
|
Ordinal_9(local_28);
|
|
FUN_14000a950(local_28,param_6);
|
|
FUN_140073d70(local_38,7,(undefined4 *)local_28);
|
|
Ordinal_9(local_28);
|
|
FUN_140074540(local_38,(int *)0x0);
|
|
uVar8 = 0;
|
|
psVar7 = local_28;
|
|
psVar4 = (short *)FUN_140073e60(local_38,psVar7,0);
|
|
FUN_140074970(psVar4,psVar7,uVar8,uVar5);
|
|
iVar3 = FUN_14000add0(psVar4);
|
|
uVar5 = Ordinal_9(local_28);
|
|
if (iVar3 < 0) {
|
|
iVar3 = wprintf(L"Failed Stored Procedure!! : %s \n");
|
|
uVar6 = CONCAT44(extraout_var,iVar3);
|
|
if (local_38[0] != (longlong *)0x0) {
|
|
uVar6 = (**(code **)(*local_38[0] + 0x10))();
|
|
}
|
|
uVar6 = uVar6 & 0xffffffffffffff00;
|
|
}
|
|
else {
|
|
if (local_38[0] != (longlong *)0x0) {
|
|
uVar5 = (**(code **)(*local_38[0] + 0x10))();
|
|
}
|
|
uVar6 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
|
|
}
|
|
return uVar6;
|
|
}
|
|
|