add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
86
decomp/AgentManager_Release_x64/full/functions/0x1400a6c00.c
Normal file
86
decomp/AgentManager_Release_x64/full/functions/0x1400a6c00.c
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400a6c00 FUN_1400a6c00
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400a6c00(longlong param_1,undefined8 *param_2,undefined8 param_3,longlong param_4)
|
||||
|
||||
{
|
||||
undefined8 *_Dst;
|
||||
ulonglong uVar1;
|
||||
undefined8 uVar2;
|
||||
undefined8 *puVar3;
|
||||
int iVar4;
|
||||
size_t _Size;
|
||||
ulonglong uVar5;
|
||||
undefined *puVar6;
|
||||
longlong lVar7;
|
||||
undefined ***pppuVar8;
|
||||
undefined *local_58;
|
||||
undefined4 local_50;
|
||||
undefined4 local_4c;
|
||||
undefined **local_48;
|
||||
longlong *local_40;
|
||||
undefined8 *local_38;
|
||||
undefined8 local_30;
|
||||
undefined8 local_28;
|
||||
|
||||
iVar4 = (int)param_3;
|
||||
if (*(longlong *)(param_1 + 0x58) != 0) {
|
||||
local_48 = Proud::CFastArray<Proud::HostID,0>::vftable;
|
||||
local_40 = (longlong *)0x0;
|
||||
local_38 = (undefined8 *)0x0;
|
||||
local_30 = 0;
|
||||
local_28 = 0;
|
||||
lVar7 = param_4;
|
||||
FUN_140038010((longlong)&local_48,iVar4,param_3,param_4);
|
||||
_Dst = local_38;
|
||||
if ((int)local_30 == 0) {
|
||||
_Dst = (undefined8 *)0x0;
|
||||
}
|
||||
_Size = (longlong)iVar4 << 2;
|
||||
if (_Size < 0x21) {
|
||||
uVar1 = (ulonglong)((uint)_Size & 7);
|
||||
puVar3 = param_2;
|
||||
for (uVar5 = ((longlong)iVar4 & 0x3fffffffffffffffU) >> 1; uVar5 != 0; uVar5 = uVar5 - 1) {
|
||||
*_Dst = *puVar3;
|
||||
_Dst = _Dst + 1;
|
||||
puVar3 = puVar3 + 1;
|
||||
}
|
||||
param_2 = (undefined8 *)0x0;
|
||||
_Size = 0;
|
||||
if (uVar1 != 0) {
|
||||
_Dst = (undefined8 *)((longlong)_Dst - (longlong)puVar3);
|
||||
do {
|
||||
*(undefined1 *)((longlong)_Dst + (longlong)puVar3) = *(undefined1 *)puVar3;
|
||||
puVar3 = (undefined8 *)((longlong)puVar3 + 1);
|
||||
uVar1 = uVar1 - 1;
|
||||
} while (uVar1 != 0);
|
||||
param_2 = (undefined8 *)0x0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
memcpy(_Dst,param_2,_Size);
|
||||
}
|
||||
FUN_14003e7c0(_Dst,param_2,_Size,lVar7);
|
||||
local_58 = PTR_DAT_14016f010;
|
||||
FUN_140005dd0((longlong *)&local_58,*(short **)(param_4 + 8),_Size,lVar7);
|
||||
local_50 = *(undefined4 *)(param_4 + 0x10);
|
||||
local_4c = *(undefined4 *)(param_4 + 0x14);
|
||||
pppuVar8 = &local_48;
|
||||
puVar6 = &DAT_140177f90;
|
||||
uVar2 = 1;
|
||||
(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x58) + 0x68) + 0x40))();
|
||||
FUN_140002190((longlong *)&local_58,uVar2,puVar6,pppuVar8);
|
||||
local_48 = Proud::CFastArray<Proud::HostID,0>::vftable;
|
||||
if (local_38 != (undefined8 *)0x0) {
|
||||
if (local_40 == (longlong *)0x0) {
|
||||
FUN_14003e8b0(local_38);
|
||||
}
|
||||
else {
|
||||
(**(code **)(*local_40 + 0x18))();
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue