74 lines
2.1 KiB
C
74 lines
2.1 KiB
C
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
|
* Ghidra 12.1.2 decompiler output for 0x1400bfb00 FUN_1400bfb00
|
|
* Pseudocode, not original source. */
|
|
|
|
ulonglong FUN_1400bfb00(undefined8 param_1,uint param_2,void *param_3,uint *param_4,byte *param_5,
|
|
undefined4 param_6,uint param_7,int param_8,undefined4 *param_9,
|
|
longlong param_10)
|
|
|
|
{
|
|
uint uVar1;
|
|
uint uVar2;
|
|
ulonglong uVar3;
|
|
char *_Memory;
|
|
undefined8 uVar4;
|
|
uint local_res18 [2];
|
|
undefined8 in_stack_ffffffffffffff98;
|
|
undefined4 uVar5;
|
|
|
|
uVar5 = (undefined4)((ulonglong)in_stack_ffffffffffffff98 >> 0x20);
|
|
if ((param_3 == (void *)0x0) || (param_4 == (uint *)0x0)) {
|
|
return 0x10;
|
|
}
|
|
if (param_10 == 0) {
|
|
return 0x10;
|
|
}
|
|
if (param_9 != (undefined4 *)0x0) {
|
|
*param_9 = 0;
|
|
if (param_8 != 1) {
|
|
if (param_8 != 2) {
|
|
return 0x18;
|
|
}
|
|
uVar3 = FUN_1400cc940(param_7);
|
|
if ((int)uVar3 != 0) {
|
|
return uVar3;
|
|
}
|
|
}
|
|
uVar1 = (*DAT_140163308)(*(undefined8 *)(param_10 + 0x18));
|
|
uVar2 = (*DAT_140163330)(*(undefined8 *)(param_10 + 0x18));
|
|
if (uVar2 == param_2) {
|
|
_Memory = malloc((ulonglong)param_2);
|
|
if (_Memory == (char *)0x0) {
|
|
uVar3 = 0xd;
|
|
}
|
|
else {
|
|
local_res18[0] = param_2;
|
|
uVar2 = (*DAT_140163420)(param_1,param_2,_Memory,local_res18,CONCAT44(uVar5,1),param_10);
|
|
uVar3 = (ulonglong)uVar2;
|
|
if (uVar2 == 0) {
|
|
if (param_8 == 2) {
|
|
uVar3 = FUN_1400ccad0(_Memory,local_res18[0],param_5,param_6,uVar1,param_7,param_3,
|
|
param_4,param_9);
|
|
uVar1 = (uint)uVar3;
|
|
}
|
|
else {
|
|
uVar4 = FUN_1400cc9a0(_Memory,local_res18[0],2,(ulonglong)uVar1,param_3,param_4,param_9)
|
|
;
|
|
uVar1 = (uint)uVar4;
|
|
}
|
|
uVar3 = (ulonglong)uVar1;
|
|
free(_Memory);
|
|
}
|
|
else {
|
|
free(_Memory);
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
uVar3 = 7;
|
|
}
|
|
return uVar3;
|
|
}
|
|
return 0x10;
|
|
}
|
|
|