87 lines
2.4 KiB
C
87 lines
2.4 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14001f7a0 FUN_14001f7a0
|
|
* Pseudocode, not original source. */
|
|
|
|
ulonglong FUN_14001f7a0(longlong *param_1,char *param_2)
|
|
|
|
{
|
|
char cVar1;
|
|
undefined1 auVar2 [16];
|
|
FILE *_File;
|
|
errno_t eVar3;
|
|
__uint64 _Var4;
|
|
undefined4 extraout_var;
|
|
longlong *plVar5;
|
|
longlong *extraout_RAX;
|
|
ulonglong uVar6;
|
|
size_t sVar7;
|
|
char *pcVar8;
|
|
size_t *psVar9;
|
|
FILE *local_res8;
|
|
size_t *local_38;
|
|
|
|
uVar6 = 0xffffffffffffffff;
|
|
pcVar8 = param_2;
|
|
do {
|
|
if (uVar6 == 0) break;
|
|
uVar6 = uVar6 - 1;
|
|
cVar1 = *pcVar8;
|
|
pcVar8 = pcVar8 + 1;
|
|
} while (cVar1 != '\0');
|
|
uVar6 = ~uVar6;
|
|
sVar7 = uVar6 - 1;
|
|
if (sVar7 == 0) {
|
|
psVar9 = &DAT_14017ce88;
|
|
}
|
|
else {
|
|
auVar2._8_8_ = 0;
|
|
auVar2._0_8_ = uVar6 + 0x1a >> 2;
|
|
_Var4 = SUB168(ZEXT816(4) * auVar2,0);
|
|
if (SUB168(ZEXT816(4) * auVar2,8) != 0) {
|
|
_Var4 = 0xffffffffffffffff;
|
|
}
|
|
local_38 = operator_new(_Var4);
|
|
*local_38 = sVar7;
|
|
*(undefined1 *)((longlong)local_38 + uVar6 + 0xf) = 0;
|
|
local_38[1] = sVar7;
|
|
psVar9 = local_38;
|
|
}
|
|
memcpy(psVar9 + 2,param_2,*psVar9);
|
|
FUN_14001e2c0(param_1 + 7,psVar9 + 2,*psVar9);
|
|
local_res8 = (FILE *)0x0;
|
|
eVar3 = fopen_s(&local_res8,(char *)(param_1[7] + 0x10),"rb");
|
|
_File = local_res8;
|
|
plVar5 = (longlong *)CONCAT44(extraout_var,eVar3);
|
|
if ((eVar3 == 0) && (local_res8 != (FILE *)0x0)) {
|
|
uVar6 = FUN_14001f920(param_1,local_res8);
|
|
fclose(_File);
|
|
if (psVar9 != &DAT_14017ce88) {
|
|
operator_delete__(local_38);
|
|
}
|
|
uVar6 = uVar6 & 0xff;
|
|
}
|
|
else {
|
|
if ((char)param_1[0xb] == '\0') {
|
|
*(undefined1 *)(param_1 + 0xb) = 1;
|
|
*(undefined4 *)((longlong)param_1 + 0x5c) = 2;
|
|
uVar6 = 0xffffffffffffffff;
|
|
pcVar8 = PTR_s_Failed_to_open_file_140174c40;
|
|
do {
|
|
if (uVar6 == 0) break;
|
|
uVar6 = uVar6 - 1;
|
|
cVar1 = *pcVar8;
|
|
pcVar8 = pcVar8 + 1;
|
|
} while (cVar1 != '\0');
|
|
plVar5 = FUN_14001e2c0(param_1 + 0xc,PTR_s_Failed_to_open_file_140174c40,~uVar6 - 1);
|
|
*(undefined4 *)(param_1 + 0xf) = 0xffffffff;
|
|
*(undefined4 *)((longlong)param_1 + 0x74) = 0xffffffff;
|
|
}
|
|
if (psVar9 != &DAT_14017ce88) {
|
|
operator_delete__(local_38);
|
|
plVar5 = extraout_RAX;
|
|
}
|
|
uVar6 = (ulonglong)plVar5 & 0xffffffffffffff00;
|
|
}
|
|
return uVar6;
|
|
}
|
|
|